1 # Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
  2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  3 #
  4 # This code is free software; you can redistribute it and/or modify it
  5 # under the terms of the GNU General Public License version 2 only, as
  6 # published by the Free Software Foundation. Amazon designates this
  7 # particular file as subject to the "Classpath" exception as provided
  8 # by Oracle in the LICENSE file that accompanied this code.
  9 #
 10 # This code is distributed in the hope that it will be useful, but WITHOUT
 11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 13 # version 2 for more details (a copy is included in the LICENSE file that
 14 # accompanied this code).
 15 #
 16 # You should have received a copy of the GNU General Public License version
 17 # 2 along with this work; if not, write to the Free Software Foundation,
 18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 19 
 20 # The Corretto github project provides tarfiles with five dotted
 21 # version parts.  The first four are the typical Java version + build,
 22 # and the last one is the release ID.
 23 %global java_version    $java_version
 24 %global java_major_version    $java_spec_version
 25 %global java_security_version    $java_security_version
 26 %global build_id        $build_id
 27 %global release_id      $release_id
 28 %global version_opt     $version_opt
 29 %global experimental_feature     $experimental_feature
 30 %global additional_configure_options     $additional_configure_options
 31 %global zlib_option $zlib_option
 32 %global use_gcc_ver $use_gcc_ver
 33 
 34 # Disable build_id links as they can collide between versions of Corretto
 35 %global _build_id_links none
 36 
 37 # The experimental_feature macro gets set to %nil by the template, but that is still defined and
 38 # the spec doesn't have a quick is not nil check, just define/not defined, this makes it easier to
 39 # work with
 40 %if 0%{?experimental_feature:1} && "%{experimental_feature}" == "%{nil}"
 41 %undefine experimental_feature
 42 %endif
 43 
 44 %if 0%{?additional_configure_options:1} == 1 && "%{additional_configure_options}" == "%{nil}"
 45 %undefine additional_configure_options
 46 %endif
 47 
 48 %if 0%{?use_gcc_ver:1} == 1 && "%{use_gcc_ver}" == "%{nil}"
 49 %undefine use_gcc_ver
 50 %endif
 51 # If we need to rev the package for something outside of what the
 52 # Corretto team is doing, we can define release_ext.
 53 # %global release_ext  1
 54 
 55 %global boot_jdk_major_version    $boot_jdk_major_version
 56 %global boot_jdk_major_v_backup    $boot_jdk_major_v_backup
 57 
 58 %global java_home %{_jvmdir}/%{name}.%{_arch}
 59 %global java_lib  %{java_home}/lib
 60 %global java_inc  %{java_home}/include
 61 
 62 # Where the make targets actually get written out
 63 %global java_imgdir build/linux-%{_arch}-server-$debug_level/images/
 64 
 65 # Higher numbers win for the alternatives program.
 66 %global alternatives_priority %( printf '%02d%02d%02d%02d' %{java_major_version} %{java_security_version} %{build_id} %{release_id} )
 67 
 68 # Instruct rpmbuild to copy jars rather than de-compress and re-compress.
 69 %global __jar_repack 0
 70 
 71 # Don't create a separate debug package. Specifically disables running
 72 # this script:
 73 # https://github.com/rpm-software-management/rpm/blob/master/scripts/find-debuginfo.sh
 74 %define debug_package %{nil}
 75 
 76 # abs2rel: A macro to convert an absolute path to a relative path.
 77 # When making a symlink in an RPM, prefer a symbolic link to ensure
 78 # the link will work in a chroot environment.
 79 %global script 'use File::Spec; print File::Spec->abs2rel(\$ARGV[0], \$ARGV[1])'
 80 %global abs2rel %{__perl} -e %{script}
 81 
 82 # Filter out private libraries so RPM does not list them as provided/required
 83 %global _privatelibs libjli[.]so.*|libattach[.]so.*|libawt_headless[.]so.*|libawt[.]so.*|libdt_socket[.]so.*|libextnet[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|libjsvml[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsyslookup[.]so.*|libzip[.]so.*|libsplashscreen[.]so.*|libawt_xawt[.]so.*
 84 %global _publiclibs libjawt[.]so.*|libjava.so.*|libjsig.so.*|libjvm.so.*|libverify.so.*
 85 
 86 %if "%{dist}" == ".amzn2" || "%{dist}" == ".amzn2int"
 87 # On AL2 we don't want to list any libraries as Provides to keep existing functionality
 88 %global __provides_exclude ^(%{_privatelibs}|%{_publiclibs})\$
 89 %global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})\$
 90 %else
 91 # On newer AL versions, we will want only the latest LTS at release time to provide the public libs.
 92 # Having multiple versions of Java providing the libs will cause problems. (https://bugzilla.redhat.com/show_bug.cgi?id=1702356)
 93 %global __provides_exclude ^(%{_privatelibs})\$
 94 %global __requires_exclude ^(%{_privatelibs})\$
 95 %endif
 96 
 97 # By default install a bootstrap jdk. If one is already available,
 98 # this can be skipped using --without bootjdk
 99 %bcond_without bootjdk
100 
101 Summary: Amazon Corretto development environment
102 Name: java-${java_spec_version}-amazon-corretto%{?experimental_feature:-%{experimental_feature}}
103 # Matches the 'full version' from Java's release notes:
104 # https://www.oracle.com/technetwork/java/javase/11-0-2-relnotes-5188746.html
105 # Eg: 11.0.2+7
106 Version: %{java_version}+%{build_id}
107 Release: %{release_id}%{?dist}%{?release_ext:.%{release_ext}}
108 
109 Epoch: 1
110 Group: Development/Languages
111 AutoProv: 1
112 AutoReq: 0
113 License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA.
114 Vendor: Amazon
115 Url: https://github.com/corretto/corretto-${java_spec_version}
116 Source0: amazon-corretto-source-%{java_version}.%{build_id}.%{release_id}.tar.gz
117 Source1: jdk%{java_major_version}-manpages.tar.gz
118 
119 # jpackage-utils/javapackages-filesystem is required for both build and runtime.
120 # For build, it provides the jvmdir macro. For runtime,
121 # it provides the /usr/lib/jvm directory.
122 %if "%{dist}" == ".amzn2" || "%{dist}" == ".amzn2int"
123 BuildRequires: jpackage-utils
124 %else
125 BuildRequires: javapackages-filesystem
126 %endif
127 BuildRequires: autoconf
128 BuildRequires: make
129 BuildRequires: alsa-lib-devel
130 BuildRequires: binutils
131 BuildRequires: which
132 BuildRequires: cups-devel
133 BuildRequires: fontconfig-devel
134 BuildRequires: freetype-devel
135 BuildRequires: giflib-devel
136 BuildRequires: gcc%{?use_gcc_ver}-c++
137 BuildRequires: libjpeg-devel
138 BuildRequires: libpng-devel
139 BuildRequires: libxslt
140 BuildRequires: libX11-devel
141 BuildRequires: libXi-devel
142 BuildRequires: libXinerama-devel
143 BuildRequires: libXt-devel
144 BuildRequires: libXrender-devel
145 BuildRequires: libXrandr-devel
146 BuildRequires: libXtst-devel
147 BuildRequires: pkgconfig
148 BuildRequires: xorg-x11-proto-devel
149 
150 %if %{with bootjdk}
151 BuildRequires: (java-${boot_jdk_major_version}-devel or java-${boot_jdk_major_v_backup}-devel)
152 %endif
153 
154 Requires: libX11
155 Requires: libXi
156 Requires: libXinerama
157 Requires: libXt
158 Requires: libXrender
159 Requires: libXrandr
160 Requires: libXtst
161 Requires: giflib
162 Requires: libpng
163 # Require headless package.
164 Requires: %{name}-headless%{?_isa} = %{epoch}:%{version}-%{release}
165 
166 Provides: java = %{epoch}:%{java_version}
167 Provides: java-${java_spec_version} = %{epoch}:%{java_version}
168 Provides: java-${java_spec_version} = %{epoch}:%{version}-%{release}
169 Provides: jre = %{java_version}
170 Provides: jre-${java_spec_version} = %{epoch}:%{version}-%{release}
171 Provides: jre-${java_spec_version}-amazon-corretto = %{epoch}:%{version}-%{release}
172 
173 %description
174 Amazon Corretto's packaging of the runtime core elements of the
175 OpenJDK ${java_spec_version} code.
176 
177 %package headless
178 Summary: Amazon Corretto headless development environment
179 Group:   Development/Tools
180 AutoProv: 1
181 AutoReq: 0
182 
183 %if "%{dist}" == ".amzn2" || "%{dist}" == ".amzn2int"
184 Requires: jpackage-utils
185 %else
186 Requires: javapackages-filesystem
187 %endif
188 Requires: zlib
189 Requires: fontconfig
190 Requires: freetype
191 Requires: dejavu-sans-fonts
192 Requires: dejavu-serif-fonts
193 Requires: dejavu-sans-mono-fonts
194 Requires: alsa-lib
195 Requires: libjpeg
196 Requires: ca-certificates
197 %if "%{dist}" == ".amzn2"
198 Requires: log4j-cve-2021-44228-cve-mitigations
199 %endif
200 Requires(post): chkconfig
201 Requires(postun): chkconfig
202 
203 Provides: java-headless = %{epoch}:%{java_version}
204 Provides: java-${java_spec_version}-headless = %{epoch}:%{version}-%{release}
205 Provides: jre-headless = %{epoch}:%{java_version}
206 Provides: jre-${java_spec_version}-headless = %{epoch}:%{version}-%{release}
207 Provides: jre-${java_spec_version}-amazon-corretto-headless = %{epoch}:%{version}-%{release}
208 
209 
210 %description headless
211 Amazon Corretto's packaging of the runtime core elements of the
212 OpenJDK ${java_spec_version} code. (Headless environment)
213 
214 %package javadoc
215 Summary: Amazon Corretto ${java_spec_version} API documentation
216 Group: Documentation
217 
218 Provides: java-javadoc = %{epoch}:%{version}-%{release}
219 Provides: java-${java_spec_version}-javadoc = %{epoch}:%{version}-%{release}
220 
221 %description javadoc
222 Amazon Corretto's packaging of the OpenJDK ${java_spec_version} API documentation.
223 
224 %package devel
225 Summary: Amazon Corretto ${java_spec_version} development tools
226 Group: Development
227 AutoProv: 1
228 AutoReq: 0
229 
230 Provides: java-devel = %{epoch}:%{java_version}
231 Provides: java-${java_spec_version}-devel = %{epoch}:%{java_version}
232 Provides: java-${java_spec_version}-devel = %{epoch}:%{version}-%{release}
233 Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
234 
235 %description devel
236 Amazon Corretto's packaging of the OpenJDK ${java_spec_version} development tools.
237 
238 %package jmods
239 Summary: Amazon Corretto ${java_spec_version} jmods
240 Group: Development
241 
242 Provides: java-${java_spec_version}-jmods = %{epoch}:%{java_version}
243 Provides: java-${java_spec_version}-jmods = %{epoch}:%{version}-%{release}
244 # Require devel package.
245 Requires: %{name}-devel%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
246 
247 %description jmods
248 Amazon Corretto's packaging of the OpenJDK ${java_spec_version} jmods.
249 
250 %package debugsymbols
251 Summary: Amazon Corretto ${java_spec_version} zipped debug symbols
252 Group: Development
253 
254 %description debugsymbols
255 Amazon Corretto's packaging of the OpenJDK ${java_spec_version} debug symbols.
256 
257 %prep
258 %setup -q -n src -c
259 
260 # Extract pre-generated man pages
261 mkdir -p manpages
262 tar -xzf %{SOURCE1} -C manpages
263 
264 %build
265 
266 %if "%{dist}" == ".amzn2" || "%{dist}" == ".amzn2int"
267 # AmazonLinux ships with GifLib 4.x which does not define GIFLIB_MAJOR. This must be defined
268 # because -Werror=undef is enabled.
269 %define GIFLIB_DEFINE "-DGIFLIB_MAJOR=4"
270 %endif
271 
272 bash ./configure \\
273 %ifarch aarch64
274         --with-extra-cflags="-moutline-atomics%{?GIFLIB_DEFINE: %{GIFLIB_DEFINE}}" \\
275         --with-extra-cxxflags="-moutline-atomics" \\
276 %else
277 %if "%{?GIFLIB_DEFINE:1}" == "1"
278         --with-extra-cflags="%{GIFLIB_DEFINE}" \\
279 %endif
280 %endif
281 %if 0%{?additional_configure_options:1}
282         %{additional_configure_options} \\
283 %endif
284         --with-jvm-features="zgc shenandoahgc" \\
285         --with-version-feature="${java_spec_version}" \\
286         --with-freetype=system \\
287         --with-libjpeg=system \\
288         --with-giflib=system \\
289         --with-libpng=system \\
290         --with-zlib="%{zlib_option}" \\
291         --with-version-opt="%{version_opt}" \\
292         --with-version-build="%{build_id}" \\
293         --with-vendor-version-string="Corretto%{?experimental_feature:-%{experimental_feature}}-%{java_version}.%{build_id}.%{release_id}" \\
294         --with-version-pre= \\
295         --with-vendor-name="Amazon.com Inc." \\
296         --with-vendor-url="https://aws.amazon.com/corretto/" \\
297         --with-vendor-bug-url="https://github.com/corretto/corretto-${java_spec_version}/issues/" \\
298         --with-vendor-vm-bug-url="https://github.com/corretto/corretto-${java_spec_version}/issues/" \\
299         --with-debug-level=$debug_level \\
300         --with-native-debug-symbols=zipped
301 
302 make images
303 make LOG=debug docs
304 
305 %install
306 rm -rf %{buildroot}
307 install -d -m 755 %{buildroot}%{java_home}
308 cp -a %{java_imgdir}/jdk/* %{buildroot}%{java_home}
309 rm -rf %{buildroot}%{java_home}/demo
310 
311 # Properly set permissions for executables and libs to enable auto-provides scanning
312 find %{buildroot}%{java_home}/ -name "*.so" -exec chmod 755 \\{\\} \\; ;
313 find %{buildroot}%{java_home} -type d -exec chmod 755 \\{\\} \\; ;
314 # Set legal to read-only.
315 find %{buildroot}%{java_home}/legal -type f -exec chmod 644 \\{\\} \\; ;
316 
317 # Install pre-generated man pages
318 mkdir -p %{buildroot}%{java_home}/man/man1
319 cp -p manpages/*.1 %{buildroot}%{java_home}/man/man1/
320 
321 # Make a *relative* symlink pointing to the cacerts file from ca-certificates.
322 rm -f %{buildroot}%{java_home}/lib/security/cacerts
323 pushd %{buildroot}%{java_home}/lib/security
324   RELATIVE=\$(%{abs2rel} %{_sysconfdir}/pki/java %{buildroot}%{java_home}/lib/security)
325   ln -sf \$RELATIVE/cacerts .
326 popd
327 
328 %post headless
329 if [ \$1 -eq 1 ] ; then
330   alternatives --install %{_bindir}/java java %{java_home}/bin/java %{alternatives_priority} \\
331                --slave %{_jvmdir}/%{name} %{name} %{java_home} \\
332                --slave %{_jvmdir}/jre jre %{java_home} \\
333                --slave %{_jvmdir}/jre-openjdk jre_openjdk %{java_home} \\
334                --slave %{_bindir}/keytool keytool %{java_home}/bin/keytool \\
335                --slave %{_bindir}/rmiregistry rmiregistry %{java_home}/bin/rmiregistry \\
336                --slave %{_mandir}/man1/java.1 java.1 %{java_home}/man/man1/java.1 \\
337                --slave %{_mandir}/man1/keytool.1 keytool.1 %{java_home}/man/man1/keytool.1 \\
338                --slave %{_mandir}/man1/rmiregistry.1 rmiregistry.1 %{java_home}/man/man1/rmiregistry.1
339 
340   # Need to setup the jre alternatives separately when there is a higher priority jre java these don't get created above.
341   alternatives --install %{_jvmdir}/jre-%{java_major_version} jre_%{java_major_version} %{java_home} %{alternatives_priority} \
342                --slave %{_jvmdir}/jre-%{java_major_version}-openjdk jre_%{java_major_version}_openjdk %{java_home}
343 fi
344 
345 %post devel
346 if [ \$1 -eq 1 ] ; then
347   alternatives --install %{_bindir}/javac javac %{java_home}/bin/javac %{alternatives_priority} \\
348                --slave %{_jvmdir}/java java_sdk %{java_home} \\
349                --slave %{_bindir}/jar jar %{java_home}/bin/jar \\
350                --slave %{_bindir}/jarsigner jarsigner %{java_home}/bin/jarsigner \\
351                --slave %{_bindir}/javadoc javadoc %{java_home}/bin/javadoc \\
352                --slave %{_bindir}/javap javap %{java_home}/bin/javap \\
353                --slave %{_bindir}/jcmd jcmd %{java_home}/bin/jcmd \\
354                --slave %{_bindir}/jconsole jconsole %{java_home}/bin/jconsole \\
355                --slave %{_bindir}/jdb jdb %{java_home}/bin/jdb \\
356                --slave %{_bindir}/jdeprscan jdeprscan %{java_home}/bin/jdeprscan \\
357                --slave %{_bindir}/jdeps jdeps %{java_home}/bin/jdeps \\
358                --slave %{_bindir}/jfr jfr %{java_home}/bin/jfr \\
359                --slave %{_bindir}/jhsdb jhsdb %{java_home}/bin/jhsdb \\
360                --slave %{_bindir}/jimage jimage %{java_home}/bin/jimage \\
361                --slave %{_bindir}/jinfo jinfo %{java_home}/bin/jinfo \\
362                --slave %{_bindir}/jlink jlink %{java_home}/bin/jlink \\
363                --slave %{_bindir}/jmap jmap %{java_home}/bin/jmap \\
364                --slave %{_bindir}/jmod jmod %{java_home}/bin/jmod \\
365                --slave %{_bindir}/jpackage jpackage %{java_home}/bin/jpackage \\
366                --slave %{_bindir}/jps jps %{java_home}/bin/jps \\
367                --slave %{_bindir}/jrunscript jrunscript %{java_home}/bin/jrunscript \\
368                --slave %{_bindir}/jshell jshell %{java_home}/bin/jshell \\
369                --slave %{_bindir}/jstack jstack %{java_home}/bin/jstack \\
370                --slave %{_bindir}/jstat jstat %{java_home}/bin/jstat \\
371                --slave %{_bindir}/jstatd jstatd %{java_home}/bin/jstatd \\
372                --slave %{_bindir}/jwebserver jwebserver %{java_home}/bin/jwebserver \\
373                --slave %{_bindir}/serialver serialver %{java_home}/bin/serialver \\
374                --slave %{_mandir}/man1/jar.1 jar.1 %{java_home}/man/man1/jar.1 \\
375                --slave %{_mandir}/man1/jarsigner.1 jarsigner.1 %{java_home}/man/man1/jarsigner.1 \\
376                --slave %{_mandir}/man1/javac.1 javac.1 %{java_home}/man/man1/javac.1 \\
377                --slave %{_mandir}/man1/javadoc.1 javadoc.1 %{java_home}/man/man1/javadoc.1 \\
378                --slave %{_mandir}/man1/javap.1 javap.1 %{java_home}/man/man1/javap.1 \\
379                --slave %{_mandir}/man1/jcmd.1 jcmd.1 %{java_home}/man/man1/jcmd.1 \\
380                --slave %{_mandir}/man1/jconsole.1 jconsole.1 %{java_home}/man/man1/jconsole.1 \\
381                --slave %{_mandir}/man1/jdb.1 jdb.1 %{java_home}/man/man1/jdb.1 \\
382                --slave %{_mandir}/man1/jdeps.1 jdeps.1 %{java_home}/man/man1/jdeps.1 \\
383                --slave %{_mandir}/man1/jinfo.1 jinfo.1 %{java_home}/man/man1/jinfo.1 \\
384                --slave %{_mandir}/man1/jjs.1 jjs.1 %{java_home}/man/man1/jjs.1 \\
385                --slave %{_mandir}/man1/jmap.1 jmap.1 %{java_home}/man/man1/jmap.1 \\
386                --slave %{_mandir}/man1/jps.1 jps.1 %{java_home}/man/man1/jps.1 \\
387                --slave %{_mandir}/man1/jrunscript.1 jrunscript.1 %{java_home}/man/man1/jrunscript.1 \\
388                --slave %{_mandir}/man1/jstack.1 jstack.1 %{java_home}/man/man1/jstack.1 \\
389                --slave %{_mandir}/man1/jstat.1 jstat.1 %{java_home}/man/man1/jstat.1 \\
390                --slave %{_mandir}/man1/jstatd.1 jstatd.1 %{java_home}/man/man1/jstatd.1 \\
391                --slave %{_mandir}/man1/jwebserver.1 jwebserver.1 %{java_home}/man/man1/jwebserver.1 \\
392                --slave %{_mandir}/man1/rmic.1 rmic.1 %{java_home}/man/man1/rmic.1 \\
393                --slave %{_mandir}/man1/serialver.1 serialver.1 %{java_home}/man/man1/serialver.1
394 
395   alternatives --install %{_jvmdir}/java-%{java_major_version} java_sdk_%{java_major_version} %{java_home} %{alternatives_priority} \\
396                --slave %{_jvmdir}/java-%{java_major_version}-openjdk java_sdk_%{java_major_version}_openjdk %{java_home}
397 fi
398 
399 %postun headless
400 if [ \$1 -eq 0 ] ; then
401   alternatives --remove java %{java_home}/bin/java
402   alternatives --remove jre_%{java_major_version} %{java_home}/jre
403 fi
404 
405 %postun devel
406 if [ \$1 -eq 0 ] ; then
407   alternatives --remove javac %{java_home}/bin/javac
408   alternatives --remove java_sdk_%{java_major_version} %{java_home}
409 fi
410 
411 %files
412 %{java_lib}/libawt_xawt.so
413 %{java_lib}/libjawt.so
414 %{java_lib}/libsplashscreen.so
415 
416 %files headless
417 %config(noreplace) %{java_home}/conf/logging.properties
418 %config(noreplace) %{java_home}/conf/net.properties
419 %config(noreplace) %{java_home}/conf/sound.properties
420 %config(noreplace) %{java_home}/conf/management/jmxremote.access
421 %config(noreplace) %{java_home}/conf/management/management.properties
422 %config(noreplace) %{java_home}/conf/security/java.security
423 %config(noreplace) %{java_home}/conf/security/policy/limited/exempt_local.policy
424 %config(noreplace) %{java_home}/conf/security/policy/limited/default_local.policy
425 %config(noreplace) %{java_home}/conf/security/policy/limited/default_US_export.policy
426 %config(noreplace) %{java_home}/conf/security/policy/unlimited/default_local.policy
427 %config(noreplace) %{java_home}/conf/security/policy/unlimited/default_US_export.policy
428 %config(noreplace) %{java_home}/lib/security/blocked.certs
429 %config(noreplace) %{java_home}/lib/security/public_suffix_list.dat
430 %dir %{java_home}
431 %dir %{java_home}/bin
432 %{java_home}/bin/java
433 %{java_home}/bin/keytool
434 %{java_home}/bin/rmiregistry
435 %{java_home}/conf
436 %{java_home}/legal
437 %{java_home}/lib
438 %dir %{java_home}/man
439 %dir %{java_home}/man/man1
440 %{java_home}/man/man1/java.1
441 %{java_home}/man/man1/keytool.1
442 %{java_home}/man/man1/rmiregistry.1
443 %{java_home}/release
444 
445 # Keep the libs and includes that need X11 in the main package
446 %exclude %{java_lib}/libawt_xawt.so
447 %exclude %{java_lib}/libjawt.so
448 %exclude %{java_lib}/libsplashscreen.so
449 # Exclude debug symbol files
450 %exclude %{java_home}/lib/*.diz
451 %exclude %{java_home}/lib/server/*.diz
452 
453 %files devel
454 %{java_home}/bin/jar
455 %{java_home}/bin/jarsigner
456 %{java_home}/bin/javac
457 %{java_home}/bin/javadoc
458 %{java_home}/bin/javap
459 %{java_home}/bin/jcmd
460 %{java_home}/bin/jconsole
461 %{java_home}/bin/jdb
462 %{java_home}/bin/jdeprscan
463 %{java_home}/bin/jdeps
464 %{java_home}/bin/jfr
465 %{java_home}/bin/jhsdb
466 %{java_home}/bin/jimage
467 %{java_home}/bin/jinfo
468 %{java_home}/bin/jlink
469 %{java_home}/bin/jmap
470 %{java_home}/bin/jmod
471 %{java_home}/bin/jnativescan
472 %{java_home}/bin/jpackage
473 %{java_home}/bin/jps
474 %{java_home}/bin/jrunscript
475 %{java_home}/bin/jshell
476 %{java_home}/bin/jstack
477 %{java_home}/bin/jstat
478 %{java_home}/bin/jstatd
479 %{java_home}/bin/jwebserver
480 %{java_home}/bin/serialver
481 %{java_inc}
482 %{java_home}/man/man1/jar.1
483 %{java_home}/man/man1/jarsigner.1
484 %{java_home}/man/man1/javac.1
485 %{java_home}/man/man1/javadoc.1
486 %{java_home}/man/man1/javap.1
487 %{java_home}/man/man1/jcmd.1
488 %{java_home}/man/man1/jconsole.1
489 %{java_home}/man/man1/jdb.1
490 %{java_home}/man/man1/jdeprscan.1
491 %{java_home}/man/man1/jdeps.1
492 %{java_home}/man/man1/jfr.1
493 %{java_home}/man/man1/jhsdb.1
494 %{java_home}/man/man1/jinfo.1
495 %{java_home}/man/man1/jlink.1
496 %{java_home}/man/man1/jmap.1
497 %{java_home}/man/man1/jmod.1
498 %{java_home}/man/man1/jnativescan.1
499 %{java_home}/man/man1/jpackage.1
500 %{java_home}/man/man1/jps.1
501 %{java_home}/man/man1/jrunscript.1
502 %{java_home}/man/man1/jshell.1
503 %{java_home}/man/man1/jstack.1
504 %{java_home}/man/man1/jstat.1
505 %{java_home}/man/man1/jstatd.1
506 %{java_home}/man/man1/jwebserver.1
507 %{java_home}/man/man1/serialver.1
508 
509 %files jmods
510 %{java_home}/jmods
511 
512 %files javadoc
513 %doc %{java_imgdir}/docs/index.html
514 %doc %{java_imgdir}/docs/api
515 %doc %{java_imgdir}/docs/resources
516 %doc %{java_imgdir}/docs/specs
517 %license %{java_imgdir}/docs/legal
518 
519 %files debugsymbols
520 %{java_home}/bin/*.diz
521 %{java_home}/lib/*.diz
522 %{java_home}/lib/server/*.diz
523 
524 %changelog
525 * Mon Aug 5 2024 Daniel Hu <costmuch@amazon.com>
526 - Add package debug symbols
527 
528 * Mon Oct 10 2022 Dan Lutker <lutkerd@amazon.com>
529 - Fix provides to include public shared libs
530 
531 * Mon Aug 29 2022 Dan Lutker <lutkerd@amazon.com>
532 - Move requires for jpeg, alsa and fonts to headless package
533 
534 * Thu Aug 18 2022 Dan Lutker <lutkerd@amazon.com>
535 - Add ability to set debug_level
536 
537 * Fri Jul 22 2022 Dan Lutker <lutkerd@amazon.com>
538 - Add provides java-devel
539 
540 * Thu Jun 30 2022 Dan Lutker <lutkerd@amazon.com>
541 - Fixup java/jre symlinks
542 
543 * Tue Mar 15 2022 Dan Lutker <lutkerd@amazon.com>
544 - Add config files as config(noreplace)
545 
546 * Fri Feb 18 2022 Dan Lutker <lutkerd@amazon.com>
547 - Fix alternatives for devel package
548 
549 * Fri Feb 18 2022 Dan Lutker <lutkerd@amazon.com>
550 - Add jwebserver to devel package
551 
552 * Thu Dec 16 2021 Clive Verghese <verghese@amazon.com>
553 - Add requires for log4j CVE-2021-44228 static mitigation
554 
555 * Mon Nov 22 2021 Dan Lutker <lutkerd@amazon.com>
556 - Setup AL2 package for CorrettoJdk