SPECS/openjdk8/openjdk8.spec
8c91b2bd
 %define _use_internal_dependency_generator 0
 %global security_hardening none
01559157
 Summary:	OpenJDK
8c91b2bd
 Name:		openjdk8
671848f6
 Version:	1.8.0.192
8f56b626
 Release:	2%{?dist}
8c91b2bd
 License:	GNU GPL
 URL:		https://openjdk.java.net
 Group:		Development/Tools
 Vendor:		VMware, Inc.
 Distribution:   Photon
b361e12d
 Source0:	http://www.java.net/download/openjdk/jdk8/promoted/b162/openjdk-%{version}.tar.gz
671848f6
 %define sha1 openjdk=e8df20e8bb8fad4ed08867cbc42202039b356b2d
01559157
 Patch0:		Awt_build_headless_only.patch
25aba711
 Patch1:		check-system-ca-certs.patch
8c91b2bd
 BuildRequires:  pcre-devel
 BuildRequires:	which
 BuildRequires:	zip
 BuildRequires:	unzip
 BuildRequires:  zlib-devel
 BuildRequires:	ca-certificates
 BuildRequires:	chkconfig
a2cf8f06
 BuildRequires:  fontconfig-devel freetype2-devel glib-devel harfbuzz-devel
8c91b2bd
 Requires:       openjre8 = %{version}-%{release}
 Requires:       chkconfig
1118bf1c
 Obsoletes:      openjdk <= %{version}
8c91b2bd
 AutoReqProv: 	no
8f56b626
 %define ExtraBuildRequires icu-devel, cups, cups-devel, xorg-proto-devel, libXtst, libXtst-devel, libXfixes, libXfixes-devel, libXi, libXi-devel, openjdk, openjre, icu, alsa-lib, alsa-lib-devel, xcb-proto, libXdmcp-devel, libXau-devel, util-macros, xtrans, libxcb-devel, proto, libXdmcp, libxcb, libXau, xtrans-devel, libX11, libX11-devel, libXext, libXext-devel, libICE-devel, libSM, libICE, libSM-devel, libXt, libXmu, libXt-devel, libXmu-devel, libXrender, libXrender-devel
8c91b2bd
 %define bootstrapjdkversion 1.8.0.112
8f56b626
 
8c91b2bd
 %description
01559157
 The OpenJDK package installs java class library and javac java compiler.
8c91b2bd
 
 %package	-n openjre8
 Summary:	Java runtime environment
 AutoReqProv: 	no
1118bf1c
 Obsoletes:      openjre <= %{version}
8c91b2bd
 Requires:       chkconfig
fa481061
 Requires:	libstdc++
8c91b2bd
 %description	-n openjre8
 It contains the libraries files for Java runtime environment
 
 
 %package	sample
01559157
 Summary:	Sample java applications.
8c91b2bd
 Group:          Development/Languages/Java
1118bf1c
 Obsoletes:      openjdk-sample <= %{version}
8c91b2bd
 Requires:       %{name} = %{version}-%{release}
 %description	sample
 It contains the Sample java applications.
 
 %package		doc
 Summary:		Documentation and demo applications for openjdk
 Group:          Development/Languages/Java
1118bf1c
 Obsoletes:      openjdk-doc <= %{version}
8c91b2bd
 Requires:       %{name} = %{version}-%{release}
 %description	doc
 It contains the documentation and demo applications for openjdk
 
 %package 		src
 Summary:        OpenJDK Java classes for developers
 Group:          Development/Languages/Java
1118bf1c
 Obsoletes:      openjdk-src <= %{version}
8c91b2bd
 Requires:       %{name} = %{version}-%{release}
 %description	src
 This package provides the runtime library class sources.
 
 %prep -p exit
31e667cb
 %setup -qn openjdk-%{version}
8c91b2bd
 %patch0 -p1
 %patch1 -p1
a2cf8f06
 rm jdk/src/solaris/native/sun/awt/CUPSfuncs.c
01559157
 sed -i "s#\"ft2build.h\"#<ft2build.h>#g" jdk/src/share/native/sun/font/freetypeScaler.c
 sed -i '0,/BUILD_LIBMLIB_SRC/s/BUILD_LIBMLIB_SRC/BUILD_HEADLESS_ONLY := 1\nOPENJDK_TARGET_OS := linux\n&/' jdk/make/lib/Awt2dLibraries.gmk
8c91b2bd
 
 %build
4e5e79b9
 chmod a+x ./configur*
8c91b2bd
 unset JAVA_HOME &&
4e5e79b9
 ./configur* \
8c91b2bd
 	CUPS_NOT_NEEDED=yes \
 	--with-target-bits=64 \
 	--with-boot-jdk=/var/opt/OpenJDK-%bootstrapjdkversion-bin \
01559157
 	--disable-headful \
8c91b2bd
 	--with-cacerts-file=/var/opt/OpenJDK-%bootstrapjdkversion-bin/jre/lib/security/cacerts \
 	--with-extra-cxxflags="-Wno-error -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse" \
 	--with-extra-cflags="-std=gnu++98 -fno-delete-null-pointer-checks -Wno-error -fno-lifetime-dse" \
01559157
 	--with-freetype-include=/usr/include/freetype2 \
 	--with-freetype-lib=/usr/lib \
671848f6
 	--with-stdc++lib=dynamic \
 	--disable-zip-debug-info
8c91b2bd
 
 make \
     DEBUG_BINARIES=true \
01559157
     BUILD_HEADLESS_ONLY=1 \
8c91b2bd
     OPENJDK_TARGET_OS=linux \
     JAVAC_FLAGS=-g \
     STRIP_POLICY=no_strip \
     DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \
     CLASSPATH=/var/opt/OpenJDK-%bootstrapjdkversion-bin/jre \
     POST_STRIP_CMD="" \
     LOG=trace \
     SCTP_WERROR=
 
 %install
 make DESTDIR=%{buildroot} install \
 	BUILD_HEADLESS_ONLY=yes \
 	OPENJDK_TARGET_OS=linux \
 	DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \
 	CLASSPATH=/var/opt/OpenJDK-%bootstrapjdkversion-bin/jre
 
 install -vdm755 %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}
 chown -R root:root %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}
 install -vdm755 %{buildroot}%{_bindir}
 find /usr/local/jvm/openjdk-1.8.0-internal/jre/lib/amd64 -iname \*.diz -delete
 mv /usr/local/jvm/openjdk-1.8.0-internal/* %{buildroot}%{_libdir}/jvm/OpenJDK-%{version}/
 
 %post
 alternatives --install %{_bindir}/javac javac %{_libdir}/jvm/OpenJDK-%{version}/bin/javac 2000 \
   --slave %{_bindir}/appletviewer appletviewer %{_libdir}/jvm/OpenJDK-%{version}/bin/appletviewer \
   --slave %{_bindir}/extcheck extcheck %{_libdir}/jvm/OpenJDK-%{version}/bin/extcheck \
   --slave %{_bindir}/idlj idlj %{_libdir}/jvm/OpenJDK-%{version}/bin/idlj \
   --slave %{_bindir}/jar jar %{_libdir}/jvm/OpenJDK-%{version}/bin/jar \
   --slave %{_bindir}/jarsigner jarsigner %{_libdir}/jvm/OpenJDK-%{version}/bin/jarsigner \
   --slave %{_bindir}/javadoc javadoc %{_libdir}/jvm/OpenJDK-%{version}/bin/javadoc \
   --slave %{_bindir}/javah javah %{_libdir}/jvm/OpenJDK-%{version}/bin/javah \
   --slave %{_bindir}/javap javap %{_libdir}/jvm/OpenJDK-%{version}/bin/javap \
   --slave %{_bindir}/jcmd jcmd %{_libdir}/jvm/OpenJDK-%{version}/bin/jcmd \
   --slave %{_bindir}/jconsole jconsole %{_libdir}/jvm/OpenJDK-%{version}/bin/jconsole \
   --slave %{_bindir}/jdb jdb %{_libdir}/jvm/OpenJDK-%{version}/bin/jdb \
   --slave %{_bindir}/jdeps jdeps %{_libdir}/jvm/OpenJDK-%{version}/bin/jdeps \
   --slave %{_bindir}/jhat jhat %{_libdir}/jvm/OpenJDK-%{version}/bin/jhat \
   --slave %{_bindir}/jinfo jinfo %{_libdir}/jvm/OpenJDK-%{version}/bin/jinfo \
   --slave %{_bindir}/jmap jmap %{_libdir}/jvm/OpenJDK-%{version}/bin/jmap \
   --slave %{_bindir}/jps jps %{_libdir}/jvm/OpenJDK-%{version}/bin/jps \
   --slave %{_bindir}/jrunscript jrunscript %{_libdir}/jvm/OpenJDK-%{version}/bin/jrunscript \
   --slave %{_bindir}/jsadebugd jsadebugd %{_libdir}/jvm/OpenJDK-%{version}/bin/jsadebugd \
   --slave %{_bindir}/jstack jstack %{_libdir}/jvm/OpenJDK-%{version}/bin/jstack \
   --slave %{_bindir}/jstat jstat %{_libdir}/jvm/OpenJDK-%{version}/bin/jstat \
   --slave %{_bindir}/jstatd jstatd %{_libdir}/jvm/OpenJDK-%{version}/bin/jstatd \
   --slave %{_bindir}/native2ascii native2ascii %{_libdir}/jvm/OpenJDK-%{version}/bin/native2ascii \
   --slave %{_bindir}/rmic rmic %{_libdir}/jvm/OpenJDK-%{version}/bin/rmic \
   --slave %{_bindir}/schemagen schemagen %{_libdir}/jvm/OpenJDK-%{version}/bin/schemagen \
   --slave %{_bindir}/serialver serialver %{_libdir}/jvm/OpenJDK-%{version}/bin/serialver \
   --slave %{_bindir}/wsgen wsgen %{_libdir}/jvm/OpenJDK-%{version}/bin/wsgen \
   --slave %{_bindir}/wsimport wsimport %{_libdir}/jvm/OpenJDK-%{version}/bin/wsimport \
   --slave %{_bindir}/xjc xjc %{_libdir}/jvm/OpenJDK-%{version}/bin/xjc
da9c5b7e
 /sbin/ldconfig
8c91b2bd
 
 %post -n openjre8
 alternatives --install %{_bindir}/java java %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/java 2000 \
   --slave %{_libdir}/jvm/jre jre %{_libdir}/jvm/OpenJDK-%{version}/jre \
   --slave %{_bindir}/jjs jjs %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/jjs \
   --slave %{_bindir}/keytool keytool %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/keytool \
   --slave %{_bindir}/orbd orbd %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/orbd \
   --slave %{_bindir}/pack200 pack200 %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/pack200 \
   --slave %{_bindir}/rmid rmid %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/rmid \
   --slave %{_bindir}/rmiregistry rmiregistry %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/rmiregistry \
   --slave %{_bindir}/servertool servertool %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/servertool \
   --slave %{_bindir}/tnameserv tnameserv %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/tnameserv \
01559157
   --slave %{_bindir}/unpack200 unpack200 %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/unpack200
da9c5b7e
 /sbin/ldconfig
8c91b2bd
 
 %postun
 alternatives --remove javac %{_libdir}/jvm/OpenJDK-%{version}/bin/javac
da9c5b7e
 /sbin/ldconfig
8c91b2bd
 
 %postun -n openjre8
 alternatives --remove java %{_libdir}/jvm/OpenJDK-%{version}/jre/bin/java
da9c5b7e
 /sbin/ldconfig
ec165e00
 rm -rf %{_libdir}/jvm/OpenJDK-%{version}
8c91b2bd
 
 %clean
 rm -rf %{buildroot}/*
 
 %files
 %defattr(-,root,root)
 %{_libdir}/jvm/OpenJDK-%{version}/ASSEMBLY_EXCEPTION
 %{_libdir}/jvm/OpenJDK-%{version}/LICENSE
 %{_libdir}/jvm/OpenJDK-%{version}/release
 %{_libdir}/jvm/OpenJDK-%{version}/THIRD_PARTY_README
 %{_libdir}/jvm/OpenJDK-%{version}/lib
 %{_libdir}/jvm/OpenJDK-%{version}/include/
 %{_libdir}/jvm/OpenJDK-%{version}/bin/extcheck
 %{_libdir}/jvm/OpenJDK-%{version}/bin/idlj
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jar
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jarsigner
 %{_libdir}/jvm/OpenJDK-%{version}/bin/java-rmi.cgi
 %{_libdir}/jvm/OpenJDK-%{version}/bin/javac
 %{_libdir}/jvm/OpenJDK-%{version}/bin/javadoc
 %{_libdir}/jvm/OpenJDK-%{version}/bin/javah
 %{_libdir}/jvm/OpenJDK-%{version}/bin/javap
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jcmd
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jconsole
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jdb
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jdeps
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jhat
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jinfo
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jjs
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jmap
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jps
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jrunscript
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jsadebugd
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jstack
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jstat
 %{_libdir}/jvm/OpenJDK-%{version}/bin/jstatd
 %{_libdir}/jvm/OpenJDK-%{version}/bin/native2ascii
 %{_libdir}/jvm/OpenJDK-%{version}/bin/rmic
 %{_libdir}/jvm/OpenJDK-%{version}/bin/schemagen
 %{_libdir}/jvm/OpenJDK-%{version}/bin/serialver
 %{_libdir}/jvm/OpenJDK-%{version}/bin/wsgen
 %{_libdir}/jvm/OpenJDK-%{version}/bin/wsimport
 %{_libdir}/jvm/OpenJDK-%{version}/bin/xjc
 
 %files	-n openjre8
 %defattr(-,root,root)
01559157
 %dir %{_libdir}/jvm/OpenJDK-%{version}
8c91b2bd
 %{_libdir}/jvm/OpenJDK-%{version}/jre/
 %{_libdir}/jvm/OpenJDK-%{version}/bin/java
 %{_libdir}/jvm/OpenJDK-%{version}/bin/keytool
 %{_libdir}/jvm/OpenJDK-%{version}/bin/orbd
 %{_libdir}/jvm/OpenJDK-%{version}/bin/pack200
 %{_libdir}/jvm/OpenJDK-%{version}/bin/rmid
 %{_libdir}/jvm/OpenJDK-%{version}/bin/rmiregistry
 %{_libdir}/jvm/OpenJDK-%{version}/bin/servertool
 %{_libdir}/jvm/OpenJDK-%{version}/bin/tnameserv
 %{_libdir}/jvm/OpenJDK-%{version}/bin/unpack200
 %{_libdir}/jvm/OpenJDK-%{version}/lib/amd64/jli/
 %exclude %{_libdir}/jvm/OpenJDK-%{version}/lib/amd64/*.diz
 
 %files sample
 %defattr(-,root,root)
 %{_libdir}/jvm/OpenJDK-%{version}/sample/
 
 %files doc
 %defattr(-,root,root)
 %{_libdir}/jvm/OpenJDK-%{version}/man/
 %{_libdir}/jvm/OpenJDK-%{version}/demo
 
 %files src
 %defattr(-,root,root)
 %{_libdir}/jvm/OpenJDK-%{version}/src.zip
 
 %changelog
8f56b626
 *   Mon Oct 29 2018 Alexey Makhalov <amakhalov@vmware.com> 1.8.0.192-2
 -   Use ExtraBuildRequires
671848f6
 *   Thu Oct 18 2018 Tapas Kundu <tkundu@vmware.com> 1.8.0.192-1
 -   Upgraded to version 1.8.0.192
4e5e79b9
 *   Fri Sep 21 2018 Srinidhi Rao <srinidhir@vmware.com> 1.8.0.181-1
 -   Upgraded to 1.8.0.181 version.
ec165e00
 *   Mon Apr 23 2018 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.172-1
 -   Upgraded to version 1.8.0.172
b361e12d
 *   Fri Jan 19 2018 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.162-1
 -   Upgraded to version 1.8.0.162
a2cf8f06
 *   Thu Dec 21 2017 Alexey Makhalov <amakhalov@vmware.com> 1.8.0.152-2
 -   Reduce list of published rpms dependencies
8b05ad98
 *   Thu Oct 19 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.152-1
 -   Upgraded to version 1.8.0.152
da9c5b7e
 *   Thu Sep 14 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.141-2
 -   added ldconfig in post actions.
25aba711
 *   Fri Jul 21 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.141-1
 -   Upgraded to version 1.8.0.141-1
01559157
 *   Thu Jul 6 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.131-4
 -   Build AWT libraries as well.
 *   Thu Jun 29 2017 Divya Thaluru <dthaluru@vmware.com> 1.8.0.131-3
 -   Added obseletes for deprecated openjdk package
 *   Tue Jun 06 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.131-2
 -   Add requires for libstdc++
 *   Mon Apr 10 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.131-1
 -   Upgraded to version 1.8.0.131 and building Java from sources
8c91b2bd
 *   Tue Mar 28 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.8.0.112-2
 -   add java rpm macros
 *   Wed Dec 21 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.8.0.112-1
 -   Update to 1.8.0.112. addresses CVE-2016-5582 CVE-2016-5573
 *   Tue Oct 04 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.8.0.102-1
 -   Update to 1.8.0.102, minor fixes in url, spelling.
 -   addresses CVE-2016-3598, CVE-2016-3606, CVE-2016-3610
 *   Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com> 1.8.0.92-3
01559157
 -   Added version constraint to runtime dependencies
 *   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.8.0.92-2
 -   GA - Bump release of all rpms
8c91b2bd
 *   Fri May 20 2016 Divya Thaluru <dthaluru@vmware.com> 1.8.0.92-1
01559157
 -   Updated to version 1.8.0.92
8c91b2bd
 *   Mon May 2 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.8.0.72-3
 -   Move tools like javac to openjdk
 *   Thu Apr 28 2016 Divya Thaluru <dthaluru@vmware.com> 1.8.0.72-2
 -   Adding openjre as run time dependency for openjdk package
 *   Fri Feb 26 2016 Kumar Kaushik <kaushikk@vmware.com> 1.8.0.72-1
 -   Updating Version.
01559157
 *   Mon Nov 16 2015 Sharath George <sharathg@vmware.com> 1.8.0.51-3
 -   Change to use /var/opt path
 *   Fri Sep 11 2015 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.8.0.51-2
 -   Split the openjdk into multiple sub-packages to reduce size.
 *   Mon Aug 17 2015 Sharath George <sarahc@vmware.com> 1.8.0.51-1
 -   Moved to the next version
 *   Tue Jun 30 2015 Sarah Choi <sarahc@vmware.com> 1.8.0.45-2
 -   Add JRE path
 *   Mon May 18 2015 Sharath George <sharathg@vmware.com> 1.8.0.45-1
 -   Initial build. First version