/[packages]/updates/8/java-1.8.0-openjdk/current/SPECS/java-1.8.0-openjdk.spec
ViewVC logotype

Diff of /updates/8/java-1.8.0-openjdk/current/SPECS/java-1.8.0-openjdk.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1236868 by ns80, Thu Jun 14 09:41:35 2018 UTC revision 1237287 by luigiwalser, Sat Jun 16 19:54:54 2018 UTC
# Line 1  Line 1 
1  %define _find_debuginfo_opts -g  # note, parametrised macros are order-senisitve (unlike not-parametrized) even with normal macros
2  # note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros  # also necessary when passing it as parameter other macros. If not macro, then it is considered as switch
3  # also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch  %global debug_suffix_unquoted -debug
 # see the difference between global and deffine:  
 # See https://github.com/rpm-software-management/rpm/issues/127 to comments at  "pmatilai commented on Aug 18, 2017"  
 # (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)  
 %global debug_suffix_unquoted -slowdebug  
4  # quoted one for shell operations  # quoted one for shell operations
5  %global debug_suffix "%{debug_suffix_unquoted}"  %global debug_suffix "%{debug_suffix_unquoted}"
6  %global normal_suffix ""  %global normal_suffix ""
7    
8  # if you want only debug build but providing java build only normal build but set normalbuild_parameter  #if you wont only debug build, but providing java, build only normal build, but  set normalbuild_parameter
9  %global debug_warning This package has full debug on. Install only in need and remove asap.  %global debugbuild_parameter  slowdebug
10    %global normalbuild_parameter release
11    %global debug_warning This package have full debug on. Install only in need, and remove asap.
12  %global debug_on with full debug on  %global debug_on with full debug on
13  %global for_debug for packages with debug on  %global for_debug for packages with debug on
14    
15  # by default we build normal build  # by default we build normal build always.
16  %global include_normal_build 1  %global include_normal_build 1
17  %if %{include_normal_build}  %if %{include_normal_build}
18  %global build_loop1 %{normal_suffix}  %global build_loop1 %{normal_suffix}
# Line 23  Line 21 
21  %endif  %endif
22    
23  %global aarch64         aarch64 arm64 armv8  %global aarch64         aarch64 arm64 armv8
24  # we need to distinguish between big and little endian PPC64  # sometimes we need to distinguish big and little endian PPC64
25  %global ppc64le         ppc64le  %global ppc64le         ppc64le
26  %global ppc64be         ppc64 ppc64p7  %global ppc64be         ppc64 ppc64p7
27  %global multilib_arches %{power64} sparc64 x86_64  %global multilib_arches %{power64} sparc64 x86_64
# Line 31  Line 29 
29    
30  # By default, we build a debug build during main build on JIT architectures  # By default, we build a debug build during main build on JIT architectures
31  %ifarch %{jit_arches}  %ifarch %{jit_arches}
 %ifnarch %{arm}  
 %global include_debug_build 1  
 %else  
32  %global include_debug_build 0  %global include_debug_build 0
 %endif  
33  %else  %else
34  %global include_debug_build 0  %global include_debug_build 0
35  %endif  %endif
# Line 47  Line 41 
41  %global use_shenandoah_hotspot 0  %global use_shenandoah_hotspot 0
42  %endif  %endif
43    
   
44  %if %{include_debug_build}  %if %{include_debug_build}
45  %global build_loop2 %{debug_suffix}  %global build_loop2 %{debug_suffix}
46  %else  %else
47  %global build_loop2 %{nil}  %global build_loop2 %{nil}
48  %endif  %endif
49    
50  # if you disable both builds, then the build fails  # if you disable both builds, then build fails
51  %global build_loop  %{build_loop1} %{build_loop2}  %global build_loop  %{build_loop1} %{build_loop2}
52  # note: that order: normal_suffix debug_suffix, in case of both enabled  # note, that order  normal_suffix debug_suffix, in case of both enabled,
53  # is expected in one single case at the end of the build  # is expected in one single case at the end of build
54  %global rev_build_loop  %{build_loop2} %{build_loop1}  %global rev_build_loop %{build_loop2} %{build_loop1}
55    
56  %ifarch %{jit_arches}  %ifarch %{jit_arches}
57  %global bootstrap_build 1  %global bootstrap_build 1
# Line 72  Line 65 
65  %global targets all  %global targets all
66  %endif  %endif
67    
 %ifnarch %{jit_arches}  
 # Disable hardened build on non-jit arches. Work-around for RHBZ#1290936.  
 %undefine _hardened_build  
 %global ourcppflags %{nil}  
 %global ourldflags %{nil}  
 %else  
 %ifarch %{aarch64}  
 # Disable hardened build on AArch64 as it didn't bootcycle  
 %undefine _hardened_build  
 %global ourcppflags "-fstack-protector-strong"  
 %global ourldflags %{nil}  
 %else  
68  # Filter out flags from the optflags macro that cause problems with the OpenJDK build  # Filter out flags from the optflags macro that cause problems with the OpenJDK build
69  # We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2  # We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2
70  # We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)  # We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
# Line 92  Line 73 
73  %global ourflags %(echo %optflags | sed -e 's|-Wformat|-Wformat -Wno-cpp|')  %global ourflags %(echo %optflags | sed -e 's|-Wformat|-Wformat -Wno-cpp|')
74  %global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')  %global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
75  %global ourldflags %(echo %{ldflags} | sed -e 's|-Wl,--no-undefined||')  %global ourldflags %(echo %{ldflags} | sed -e 's|-Wl,--no-undefined||')
 %endif  
 %endif  
76    
77  # With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path  # With diabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path
78  # the initialisation must be here. Later the pkg-config have buggy behaviour  # the initialisation must be here. LAter the pkg-connfig have bugy behaviour
79  # looks like openjdk RPM specific bug  #looks liekopenjdk RPM specific bug
80  # Always set this so the nss.cfg file is not broken  # Always set this so the nss.cfg file is not broken
81  %global NSS_LIBDIR %(pkg-config --variable=libdir nss)  %global NSS_LIBDIR %(pkg-config --variable=libdir nss)
82    
83  # fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349  # fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
84  %global _privatelibs libmawt[.]so.* libattach[.]so.* libawt[.]so.* libextnet[.]so.* libjsig[.]so.* libawt_headless[.]so.* libdt_socket[.]so.* libfontmanager[.]so.* libinstrument[.]so.* libj2gss[.]so.* libj2pcsc[.]so.* libj2pkcs11[.]so.* libjaas_unix[.]so.* libjavajpeg[.]so.* libjdwp[.]so.* libjimage[.]so.* libjsound[.]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.* libunpack[.]so.* libverify[.]so.* libzip[.]so.* libjsoundalsa[.]so.* libsplashscreen[.]so.* libawt_xawt[.]so.*  %global _privatelibs libawt_xawt[.]so.*|libjawt[.]so.*|libjsoundalsa[.]so.*|libsplashscreen[.]so.*|libjli[.]so.*|libjawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libhprof[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas_unix[.]so.*|libjava[.]so.*|libjava_crw_demo[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjsdt[.]so.*|libjsig[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libnpt[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsunec[.]so.*|libunpack[.]so.*|libverify[.]so.*|libzip[.]so.*|libjsig[.]so.*|libjvm[.]so.*
   
85  %global __provides_exclude ^(%{_privatelibs})$  %global __provides_exclude ^(%{_privatelibs})$
86  %global __requires_exclude ^(%{_privatelibs})$  %global __requires_exclude ^(%{_privatelibs})$
87    
# Line 113  Line 91 
91  # does not match that given by _build_cpu  # does not match that given by _build_cpu
92  %ifarch x86_64  %ifarch x86_64
93  %global archinstall amd64  %global archinstall amd64
94    %global stapinstall x86_64
95  %endif  %endif
96  %ifarch ppc  %ifarch ppc
97  %global archinstall ppc  %global archinstall ppc
98    %global stapinstall powerpc
99  %endif  %endif
100  %ifarch %{ppc64be}  %ifarch %{ppc64be}
101  %global archinstall ppc64  %global archinstall ppc64
102    %global stapinstall powerpc
103  %endif  %endif
104  %ifarch %{ppc64le}  %ifarch %{ppc64le}
105  %global archinstall ppc64le  %global archinstall ppc64le
106    %global stapinstall powerpc
107  %endif  %endif
108  %ifarch %{ix86}  %ifarch %{ix86}
109  %global archinstall i386  %global archinstall i386
110    %global stapinstall i386
111  %endif  %endif
112  %ifarch ia64  %ifarch ia64
113  %global archinstall ia64  %global archinstall ia64
114    %global stapinstall ia64
115  %endif  %endif
116  %ifarch s390  %ifarch s390
117  %global archinstall s390  %global archinstall s390
118    %global stapinstall s390
119  %endif  %endif
120  %ifarch s390x  %ifarch s390x
121  %global archinstall s390x  %global archinstall s390x
122    %global stapinstall s390
123  %endif  %endif
124  %ifarch %{arm}  %ifarch %{arm}
125  %global archinstall arm  %global archinstall arm
126    %global stapinstall arm
127  %endif  %endif
128  %ifarch %{aarch64}  %ifarch %{aarch64}
129  %global archinstall aarch64  %global archinstall aarch64
130    %global stapinstall arm64
131  %endif  %endif
132  # 32 bit sparc, optimized for v9  # 32 bit sparc, optimized for v9
133  %ifarch sparcv9  %ifarch sparcv9
134  %global archinstall sparc  %global archinstall sparc
135    %global stapinstall %{_build_cpu}
136  %endif  %endif
137  # 64 bit sparc  # 64 bit sparc
138  %ifarch sparc64  %ifarch sparc64
139  %global archinstall sparcv9  %global archinstall sparcv9
140    %global stapinstall %{_build_cpu}
141  %endif  %endif
142  %ifnarch %{jit_arches}  %ifnarch %{jit_arches}
143  %global archinstall %{_arch}  %global archinstall %{_arch}
144  %endif  %endif
145    
   
   
146  %ifarch %{jit_arches}  %ifarch %{jit_arches}
147  %global with_systemtap 1  %global with_systemtap 1
148  %else  %else
149  %global with_systemtap 0  %global with_systemtap 0
150  %endif  %endif
151    
 # New Version-String scheme-style defines  
 %global majorver 8  
   
152  %ifarch %{ix86} x86_64  %ifarch %{ix86} x86_64
153  # disable in mageia, packaged separately  # disable in mageia, packaged separately
154  %global with_openjfx_binding 0  %global with_openjfx_binding 0
# Line 185  Line 170 
170  %global with_openjfx_binding 0  %global with_openjfx_binding 0
171  %endif  %endif
172    
173    # Convert an absolute path to a relative path.  Each symbolic link is
174    # specified relative to the directory in which it is installed so that
175    # it will resolve properly within chrooted installations.
176    %global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
177    %global abs2rel %{__perl} -e %{script}
178    
179    
180  # Standard JPackage naming and versioning defines.  # Standard JPackage naming and versioning defines.
181  %global origin          openjdk  %global origin          openjdk
 %global origin_nice     OpenJDK  
 %global top_level_dir_name   %{origin}  
182  # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.  # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
183  %global project         aarch64-port  %global project         aarch64-port
184  %global repo            jdk8u  %global repo            jdk8u
# Line 202  Line 192 
192  # priority must be 7 digits in total. The expression is workarounding tip  # priority must be 7 digits in total. The expression is workarounding tip
193  %global priority        %(TIP=1800%{updatever};  echo ${TIP/tip/999})  %global priority        %(TIP=1800%{updatever};  echo ${TIP/tip/999})
194    
195  %global javaver         1.%{majorver}.0  %global javaver         1.8.0
 %global systemtap_javaver 9  
196    
197  # parametrized macros are order-sensitive  # parametrized macros are order-sensitive
198  %global compatiblename  %{name}  %global fullversion     %{name}-%{version}-%{release}
199  %global fullversion     %{compatiblename}-%{version}-%{release}  #images stub
200  # images stub  %global j2sdkimage       j2sdk-image
 %global jdkimage       j2sdk-image  
201  # output dir stub  # output dir stub
202  %define buildoutputdir() %{expand:openjdk/build/jdk8.build%{?1}}  %define buildoutputdir() %{expand:openjdk/build/jdk8.build%{?1}}
203  # we can copy the javadoc to not arched dir, or make it not noarch  #we can copy the javadoc to not arched dir, or made it not noarch
204  %define uniquejavadocdir()    %{expand:%{fullversion}%{?1}}  %define uniquejavadocdir()    %{expand:%{fullversion}%{?1}}
205  # main id and dir of this jdk  #main id and dir of this jdk
206  %define uniquesuffix()        %{expand:%{fullversion}.%{_arch}%{?1}}  %define uniquesuffix()        %{expand:%{fullversion}.%{_arch}%{?1}}
207    
208  # Standard JPackage directories and symbolic links.  # Standard JPackage directories and symbolic links.
# Line 241  Line 229 
229  # for the primary arch for now). Systemtap uses the machine name  # for the primary arch for now). Systemtap uses the machine name
230  # aka build_cpu as architecture specific directory name.  # aka build_cpu as architecture specific directory name.
231  %global tapsetroot /usr/share/systemtap  %global tapsetroot /usr/share/systemtap
232  %global tapsetdirttapset %{tapsetroot}/tapset/  %global tapsetdir %{tapsetroot}/tapset/%{stapinstall}
 %global tapsetdir %{tapsetdirttapset}/%{_build_cpu}  
233  %endif  %endif
234    
235  # not-duplicated scriptlets for normal/debug packages  # not-duplicated scriplets for normal/debug packages
236  %global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :  %global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
237    
238    
# Line 260  exit 0 Line 247  exit 0
247  %ifarch %{jit_arches}  %ifarch %{jit_arches}
248  # MetaspaceShared::generate_vtable_methods not implemented for PPC JIT  # MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
249  %ifnarch %{power64}  %ifnarch %{power64}
250  # see https://bugzilla.redhat.com/show_bug.cgi?id=513605  #see https://bugzilla.redhat.com/show_bug.cgi?id=513605
251  %{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null  %{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
252  %endif  %endif
253  %endif  %endif
# Line 272  fi Line 259  fi
259    
260  ext=%{_extension}  ext=%{_extension}
261  alternatives \\  alternatives \\
262    --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY  --family %{name}.%{_arch} \\    --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\
263    --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir -- %{?1}} \\    --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir -- %{?1}} \\
264    --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk -- %{?1}} \\    --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk -- %{?1}} \\
265    --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\    --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
# Line 363  fi Line 350  fi
350    
351  ext=%{_extension}  ext=%{_extension}
352  alternatives \\  alternatives \\
353    --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY  --family %{name}.%{_arch} \\    --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{name}.%{_arch} \\
354    --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\    --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
355    --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir -- %{?1}} \\    --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir -- %{?1}} \\
356    --slave %{_bindir}/appletviewer appletviewer %{sdkbindir -- %{?1}}/appletviewer \\    --slave %{_bindir}/appletviewer appletviewer %{sdkbindir -- %{?1}}/appletviewer \\
# Line 498  fi Line 485  fi
485    
486  alternatives \\  alternatives \\
487    --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\    --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
488    $PRIORITY  --family %{name}    $PRIORITY --family %{name}
489  exit 0  exit 0
490  }  }
491    
# Line 526  exit 0 Line 513  exit 0
513  }  }
514    
515  %define files_jre() %{expand:  %define files_jre() %{expand:
516  %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png  %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
517  %{_datadir}/applications/*policytool%{?1}.desktop  %{_datadir}/applications/*policytool%{?1}.desktop
518  %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libjsoundalsa.so  %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libjsoundalsa.so
519  %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libsplashscreen.so  %{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libsplashscreen.so
# Line 538  exit 0 Line 525  exit 0
525    
526  %define files_jre_headless() %{expand:  %define files_jre_headless() %{expand:
527  %defattr(-,root,root,-)  %defattr(-,root,root,-)
528  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/ASSEMBLY_EXCEPTION  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/jre/ASSEMBLY_EXCEPTION
529  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/jre/LICENSE
530  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/THIRD_PARTY_README  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/jre/THIRD_PARTY_README
531  %dir %{_jvmdir}/%{sdkdir -- %{?1}}  %dir %{_jvmdir}/%{sdkdir -- %{?1}}
532  %{_jvmdir}/%{jrelnk -- %{?1}}  %{_jvmdir}/%{jrelnk -- %{?1}}
533  %{_jvmjardir}/%{jrelnk -- %{?1}}  %{_jvmjardir}/%{jrelnk -- %{?1}}
# Line 587  exit 0 Line 574  exit 0
574  %config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/nss.cfg  %config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/nss.cfg
575  %ifarch %{jit_arches}  %ifarch %{jit_arches}
576  %ifnarch %{power64}  %ifnarch %{power64}
577  %ghost %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/server/classes.jsa  %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/classes.jsa
578  %ghost %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/client/classes.jsa  %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/classes.jsa
579  %endif  %endif
580  %endif  %endif
581  %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/server/  %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/server/
# Line 651  exit 0 Line 638  exit 0
638  %{_jvmdir}/%{jredir -- %{?1}}/lib/management-agent.jar  %{_jvmdir}/%{jredir -- %{?1}}/lib/management-agent.jar
639  %{_jvmdir}/%{jredir -- %{?1}}/lib/management/*  %{_jvmdir}/%{jredir -- %{?1}}/lib/management/*
640  %{_jvmdir}/%{jredir -- %{?1}}/lib/cmm/*  %{_jvmdir}/%{jredir -- %{?1}}/lib/cmm/*
641  %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/cldrdata.jar  %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/*
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/dnsns.jar  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/jaccess.jar  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/localedata.jar  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/meta-index  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/nashorn.jar  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunec.jar  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunjce_provider.jar  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunpkcs11.jar  
 %{_jvmdir}/%{jredir -- %{?1}}/lib/ext/zipfs.jar  
   
642  %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images  %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images
643  %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images/cursors  %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images/cursors
644  %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/management  %dir %{_jvmdir}/%{jredir -- %{?1}}/lib/management
# Line 671  exit 0 Line 648  exit 0
648    
649  %define files_devel() %{expand:  %define files_devel() %{expand:
650  %defattr(-,root,root,-)  %defattr(-,root,root,-)
651  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/ASSEMBLY_EXCEPTION  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/ASSEMBLY_EXCEPTION
652  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/LICENSE  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/LICENSE
653  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/THIRD_PARTY_README  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/THIRD_PARTY_README
654  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
655  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/include  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/include
656  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
# Line 721  exit 0 Line 698  exit 0
698  %{_jvmdir}/%{sdkdir -- %{?1}}/include/*  %{_jvmdir}/%{sdkdir -- %{?1}}/include/*
699  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall}  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall}
700  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
 %if %{with_systemtap}  
 %{_jvmdir}/%{sdkdir -- %{?1}}/tapset  
 %endif  
701  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/ir.idl  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/ir.idl
702  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jconsole.jar  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jconsole.jar
703  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/orb.idl  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/orb.idl
# Line 766  exit 0 Line 740  exit 0
740  %{_mandir}/man1/xjc-%{uniquesuffix -- %{?1}}.1*  %{_mandir}/man1/xjc-%{uniquesuffix -- %{?1}}.1*
741  %if %{with_systemtap}  %if %{with_systemtap}
742  %dir %{tapsetroot}  %dir %{tapsetroot}
 %dir %{tapsetdirttapset}  
743  %dir %{tapsetdir}  %dir %{tapsetdir}
744  %{tapsetdir}/*%{_arch}%{?1}.stp  %{tapsetdir}/*%{version}-%{release}.%{_arch}%{?1}.stp
745    %dir %{_jvmdir}/%{sdkdir -- %{?1}}/tapset
746    %{_jvmdir}/%{sdkdir -- %{?1}}/tapset/*.stp
747  %endif  %endif
748  }  }
749    
750  %define files_demo() %{expand:  %define files_demo() %{expand:
751  %defattr(-,root,root,-)  %defattr(-,root,root,-)
752  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/jre/LICENSE
753  }  }
754    
755  %define files_src() %{expand:  %define files_src() %{expand:
756  %defattr(-,root,root,-)  %defattr(-,root,root,-)
757  %doc README.md  %doc README.src
758  %{_jvmdir}/%{sdkdir -- %{?1}}/src.zip  %{_jvmdir}/%{sdkdir -- %{?1}}/src.zip
759  }  }
760    
761  %define files_javadoc() %{expand:  %define files_javadoc() %{expand:
762  %defattr(-,root,root,-)  %defattr(-,root,root,-)
763  %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}  %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
764  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/jre/LICENSE
765  }  }
766    
767  %define files_javadoc_zip() %{expand:  %define files_javadoc_zip() %{expand:
768  %defattr(-,root,root,-)  %defattr(-,root,root,-)
769  %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip  %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
770  %license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE  %license %{buildoutputdir -- %{?1}}/images/%{j2sdkimage}/jre/LICENSE
771  }  }
772    
773  %define files_accessibility() %{expand:  %define files_accessibility() %{expand:
# Line 801  exit 0 Line 776  exit 0
776  %{_jvmdir}/%{jredir -- %{?1}}/lib/accessibility.properties  %{_jvmdir}/%{jredir -- %{?1}}/lib/accessibility.properties
777  }  }
778    
779  # not-duplicated requires/provides/obsoletes for normal/debug packages  # not-duplicated requires/provides/obsolate for normal/debug packages
780  %define java_rpo() %{expand:  %define java_rpo() %{expand:
781  Requires: fontconfig  Requires: fontconfig
782  Requires: x11-font-type1  Requires: x11-font-type1
# Line 810  Requires: x11-font-type1 Line 785  Requires: x11-font-type1
785  Requires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}  Requires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
786  #OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}  #OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
787    
 Provides: java-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}  
788    
789  # Standard JPackage base provides  # Standard JPackage base provides.
790  Provides: jre = %{javaver}%{?1}  Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
791  Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}  Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
792  Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}  Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
 Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}  
793  Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
794    Provides: jre = %{javaver}%{?1}
795  Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
796  Provides: java%{?1} = %{epoch}:%{javaver}  Provides: java%{?1} = %{epoch}:%{javaver}
797  # Standard JPackage extensions provides.  # Standard JPackage extensions provides.
# Line 827  Obsoletes: java-1.7.0-openjdk%{?1} Line 801  Obsoletes: java-1.7.0-openjdk%{?1}
801  }  }
802    
803  %define java_headless_rpo() %{expand:  %define java_headless_rpo() %{expand:
804  # Require /etc/pki/java/cacerts  # Require /etc/pki/java/cacerts.
805  #Requires: ca-certificates  #Requires: ca-certificates
806  Requires: rootcerts-java  Requires: rootcerts-java
807  # Require jpackage-utils for ownership of /usr/lib/jvm/  # Require jpackage-utils for ownership of /usr/lib/jvm/
# Line 839  Requires: lksctp-tools Line 813  Requires: lksctp-tools
813  # tool to copy jdk's configs - should be Recommends only, but then only dnf/yum eforce it, not rpm transaction and so no configs are persisted when pure rpm -u is run. I t may be consiedered as regression  # tool to copy jdk's configs - should be Recommends only, but then only dnf/yum eforce it, not rpm transaction and so no configs are persisted when pure rpm -u is run. I t may be consiedered as regression
814  Requires: copy-jdk-configs >= 3.3  Requires: copy-jdk-configs >= 3.3
815  #OrderWithRequires: copy-jdk-configs  #OrderWithRequires: copy-jdk-configs
816  # Post requires alternatives to install tool alternatives  # Post requires alternatives to install tool alternatives.
817  Requires(post):   update-alternatives  Requires(post):   update-alternatives
818  # in version 1.7 and higher for --family switch  # in version 1.7 and higher for --family switch
819  Requires(post):   chkconfig >= 1.7-3  Requires(post):   chkconfig >= 1.7-3
820  # Postun requires alternatives to uninstall tool alternatives  # Postun requires alternatives to uninstall tool alternatives.
821  Requires(postun): update-alternatives  Requires(postun): update-alternatives
822  # in version 1.7 and higher for --family switch  # in version 1.7 and higher for --family switch
823  Requires(postun):   chkconfig >= 1.7-3  Requires(postun):   chkconfig >= 1.7-3
824    
825  # Standard JPackage base provides  # Standard JPackage base provides.
 Provides: jre-headless%{?1} = %{epoch}:%{javaver}  
826  Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}  Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
827  Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}  Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
828  Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}  Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
 Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}  
829  Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
830    Provides: jre-headless%{?1} = %{epoch}:%{javaver}
831  Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
832  Provides: java-headless%{?1} = %{epoch}:%{javaver}  Provides: java-headless%{?1} = %{epoch}:%{javaver}
833  # Standard JPackage extensions provides.  # Standard JPackage extensions provides.
# Line 876  Obsoletes: java-1.7.0-openjdk-headless%{ Line 849  Obsoletes: java-1.7.0-openjdk-headless%{
849  # Require base package.  # Require base package.
850  Requires:         %{name}%{?1} = %{epoch}:%{version}-%{release}  Requires:         %{name}%{?1} = %{epoch}:%{version}-%{release}
851  #OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}  #OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
852  # Post requires alternatives to install tool alternatives  # Post requires alternatives to install tool alternatives.
853  Requires(post):   update-alternatives  Requires(post):   update-alternatives
854  # in version 1.7 and higher for --family switch  # in version 1.7 and higher for --family switch
855  Requires(post):   chkconfig >= 1.7-3  Requires(post):   chkconfig >= 1.7-3
856  # Postun requires alternatives to uninstall tool alternatives  # Postun requires alternatives to uninstall tool alternatives.
857  Requires(postun): update-alternatives  Requires(postun): update-alternatives
858  # in version 1.7 and higher for --family switch  # in version 1.7 and higher for --family switch
859  Requires(postun):   chkconfig >= 1.7-3  Requires(postun):   chkconfig >= 1.7-3
860    
861  # Standard JPackage devel provides  # Standard JPackage devel provides.
862  Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}  Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}
863  Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}  Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}
864  Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}  Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}
865  Provides: java-sdk%{?1} = %{epoch}:%{javaver}  Provides: java-sdk%{?1} = %{epoch}:%{javaver}
866  Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}  Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}
 Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}  
867  Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}  Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}
868  Provides: java-devel%{?1} = %{epoch}:%{javaver}  Provides: java-devel%{?1} = %{epoch}:%{javaver}
869    
# Line 910  Obsoletes: java-1.7.0-openjdk-demo%1 Line 882  Obsoletes: java-1.7.0-openjdk-demo%1
882    
883  %define java_javadoc_rpo() %{expand:  %define java_javadoc_rpo() %{expand:
884  #OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}  #OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
885  # Post requires alternatives to install javadoc alternative  # Post requires alternatives to install javadoc alternative.
886  Requires(post):   update-alternatives  Requires(post):   update-alternatives
887  # in version 1.7 and higher for --family switch  # in version 1.7 and higher for --family switch
888  Requires(post):   chkconfig >= 1.7-3  Requires(post):   chkconfig >= 1.7-3
889  # Postun requires alternatives to uninstall javadoc alternative  # Postun requires alternatives to uninstall javadoc alternative.
890  Requires(postun): update-alternatives  Requires(postun): update-alternatives
891  # in version 1.7 and higher for --family switch  # in version 1.7 and higher for --family switch
892  Requires(postun):   chkconfig >= 1.7-3  Requires(postun):   chkconfig >= 1.7-3
893    
894  # Standard JPackage javadoc provides  # Standard JPackage javadoc provides.
895  Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}  Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}
896  Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
897  Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{javaver}-%{origin}-javadoc = %{epoch}:%{version}-%{release}
898    
899  Obsoletes: java-1.7.0-openjdk-javadoc%{?1}  Obsoletes: java-1.7.0-openjdk-javadoc%{?1}
900    
# Line 931  Obsoletes: java-1.7.0-openjdk-javadoc%{? Line 903  Obsoletes: java-1.7.0-openjdk-javadoc%{?
903  %define java_src_rpo() %{expand:  %define java_src_rpo() %{expand:
904  Requires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}  Requires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
905    
906  # Standard JPackage sources provides  # Standard JPackage javadoc provides.
907  Provides: java-src%{?1} = %{epoch}:%{version}-%{release}  Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
908  Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
909  Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}  Provides: java-%{javaver}-%{origin}-src = %{epoch}:%{version}-%{release}
910  Obsoletes: java-1.7.0-openjdk-src%{?1}  Obsoletes: java-1.7.0-openjdk-src%{?1}
911  }  }
912    
# Line 948  Provides: java-%{javaver}-%{origin}-acce Line 920  Provides: java-%{javaver}-%{origin}-acce
920  Obsoletes: java-1.7.0-openjdk-accessibility%{?1}  Obsoletes: java-1.7.0-openjdk-accessibility%{?1}
921  }  }
922    
923  # Prevent brp-java-repack-jars from being run  # Prevent brp-java-repack-jars from being run.
924  %global __jar_repack 0  %global __jar_repack 0
925    
926  Name:    java-%{javaver}-%{origin}  Name:    java-%{javaver}-%{origin}
# Line 964  Release: %mkrel 1.%{buildver}.1 Line 936  Release: %mkrel 1.%{buildver}.1
936  # JDK package >= 1.6.0 to 1, and packages referring to JDK virtual  # JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
937  # provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".  # provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
938  Epoch:   1  Epoch:   1
939  Summary: %{origin_nice} Runtime Environment %{majorver}  Summary: OpenJDK Runtime Environment
940  Group:   Development/Java  Group:   Development/Java
941    
942  License:  ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C  License:  ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
# Line 975  URL:      http://openjdk.java.net/ Line 947  URL:      http://openjdk.java.net/
947  # VERSION=%%{revision} FILE_NAME_ROOT=%%{project}-%%{repo}-${VERSION}  # VERSION=%%{revision} FILE_NAME_ROOT=%%{project}-%%{repo}-${VERSION}
948  # REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh  # REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh
949  # where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}  # where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}
950  Source0: %{project}-%{repo}-%{revision}.tar.xz  Source0:  %{project}-%{repo}-%{revision}.tar.xz
951    
952  # Shenandoah HotSpot  # Shenandoah HotSpot
953  Source1: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11--shenandoah-merge-2018-05-15.tar.xz  Source1: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11--shenandoah-merge-2018-05-15.tar.xz
954    
955  # Custom README for -src subpackage  # Custom README for -src subpackage
956  Source2:  README.md  Source2:  README.src
957    
958  # Script to generate Source4 (requires mercurial)  # Script to generate Source4 (requires mercurial)
959  Source3:  mga-add-missing-files.sh  Source3:  mga-add-missing-files.sh
# Line 990  Source3:  mga-add-missing-files.sh Line 962  Source3:  mga-add-missing-files.sh
962  Source4:  4c674322d449.tar.bz2  Source4:  4c674322d449.tar.bz2
963    
964  # Use 'generate_tarballs.sh' to generate the following tarballs  # Use 'generate_tarballs.sh' to generate the following tarballs
965  # They are based on code contained in the IcedTea7 project  # They are based on code contained in the IcedTea project (3.x).
966    
967  # Systemtap tapsets. Zipped up to keep it small  # Systemtap tapsets. Zipped up to keep it small.
968  Source8: systemtap-tapset-3.6.0pre02.tar.xz  Source8: systemtap-tapset-3.6.0pre02.tar.xz
969    
970  # Desktop files. Adapted from IcedTea  # Desktop files. Adapated from IcedTea.
971  Source9: jconsole.desktop.in  Source9: jconsole.desktop.in
972  Source10: policytool.desktop.in  Source10: policytool.desktop.in
973    
# Line 1017  Source20: repackReproduciblePolycies.sh Line 989  Source20: repackReproduciblePolycies.sh
989  Source100: config.guess  Source100: config.guess
990  Source101: config.sub  Source101: config.sub
991    
 ############################################  
 #  
992  # RPM/distribution specific patches  # RPM/distribution specific patches
 #  
 ############################################  
993    
994  # Accessibility patches  # Accessibility patches
995  # Ignore AWTError when assistive technologies are loaded  # Ignore AWTError when assistive technologies are loaded
996  Patch1:   %{name}-accessible-toolkit.patch  Patch1:   %{name}-accessible-toolkit.patch
997  # Restrict access to java-atk-wrapper classes  # Restrict access to java-atk-wrapper classes
998  Patch3: java-atk-wrapper-security.patch  Patch3: java-atk-wrapper-security.patch
   
 #############################################  
 #  
999  # Upstreamable patches  # Upstreamable patches
 #  
 #############################################  
1000  # PR2737: Allow multiple initialization of PKCS11 libraries  # PR2737: Allow multiple initialization of PKCS11 libraries
1001  Patch5: multiple-pkcs11-library-init.patch  Patch5: multiple-pkcs11-library-init.patch
1002  # PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)  # PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
# Line 1064  Patch509: rh1176206-root.patch Line 1027  Patch509: rh1176206-root.patch
1027  Patch523: pr2974-rh1337583.patch  Patch523: pr2974-rh1337583.patch
1028  # PR3083, RH1346460: Regression in SSL debug output without an ECC provider  # PR3083, RH1346460: Regression in SSL debug output without an ECC provider
1029  Patch528: pr3083-rh1346460.patch  Patch528: pr3083-rh1346460.patch
1030    # RH1566890: CVE-2018-3639
1031    Patch529: rh1566890_embargoed20180521.patch
1032  # 8196516, RH1538767: libfontmanager.so needs to be built with LDFLAGS so as to allow  # 8196516, RH1538767: libfontmanager.so needs to be built with LDFLAGS so as to allow
1033  #                     linking with unresolved symbols.  #                     linking with unresolved symbols.
1034  Patch529: rhbz_1538767_fix_linking.patch  Patch530: rhbz_1538767_fix_linking.patch
1035    
 #############################################  
 #  
1036  # Upstreamable debugging patches  # Upstreamable debugging patches
 #  
 #############################################  
1037  # Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files  # Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files
1038  Patch204: hotspot-remove-debuglink.patch  Patch204: hotspot-remove-debuglink.patch
1039  Patch205: dont-add-unnecessary-debug-links.patch  Patch205: dont-add-unnecessary-debug-links.patch
# Line 1080  Patch205: dont-add-unnecessary-debug-lin Line 1041  Patch205: dont-add-unnecessary-debug-lin
1041  Patch206: hotspot-assembler-debuginfo.patch  Patch206: hotspot-assembler-debuginfo.patch
1042    
1043  # Arch-specific upstreamable patches  # Arch-specific upstreamable patches
1044  # PR2415: JVM -Xmx requirement is too high on s390  # s390: PR2415: JVM -Xmx requirement is too high on s390
1045  Patch100: %{name}-s390-java-opts.patch  Patch100: %{name}-s390-java-opts.patch
1046  # Type fixing for s390  # s390: Type fixing for s390
1047  Patch102: %{name}-size_t.patch  Patch102: %{name}-size_t.patch
1048  # Use "%z" for size_t on s390 as size_t != intptr_t  # s390: PR3593: Use "%z" for size_t on s390 as size_t != intptr_t
1049  Patch103: s390-size_t_format_flags.patch  Patch103: pr3593-s390-size_t_format_flags.patch
1050  # Fix more cases of missing return statements on AArch64  # AArch64: Fix more cases of missing return statements
1051  Patch104: pr3458-rh1540242.patch  Patch104: pr3458-rh1540242-aarch64.patch
1052    # x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround)
1053    Patch105: 8199936-pr3533-workaround.patch
1054    # Zero: Fix more cases of missing return statements
1055    Patch106: pr3458-rh1540242-zero.patch
1056    
 #############################################  
 #  
1057  # Patches which need backporting to 8u  # Patches which need backporting to 8u
 #  
 #############################################  
1058  # S8073139, RH1191652; fix name of ppc64le architecture  # S8073139, RH1191652; fix name of ppc64le architecture
1059  Patch601: %{name}-rh1191652-root.patch  Patch601: %{name}-rh1191652-root.patch
1060  Patch602: %{name}-rh1191652-jdk.patch  Patch602: %{name}-rh1191652-jdk.patch
# Line 1116  Patch400: 8154313.patch Line 1077  Patch400: 8154313.patch
1077  Patch526: 6260348-pr3066.patch  Patch526: 6260348-pr3066.patch
1078  # 8061305, PR3335, RH1423421: Javadoc crashes when method name ends with "Property"  # 8061305, PR3335, RH1423421: Javadoc crashes when method name ends with "Property"
1079  Patch538: 8061305-pr3335-rh1423421.patch  Patch538: 8061305-pr3335-rh1423421.patch
 Patch540: rhbz1548475-LDFLAGSusage.patch  
1080  # 8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present  # 8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present
1081  Patch560: 8188030-pr3459-rh1484079.patch  Patch560: 8188030-pr3459-rh1484079.patch
1082  # 8197429, PR3456, RH153662{2,3}: 32 bit java app started via JNI crashes with larger stack sizes  # 8197429, PR3546, RH153662{2,3}: 32 bit java app started via JNI crashes with larger stack sizes
1083  Patch561: 8197429-pr3456-rh1536622.patch  Patch561: 8197429-pr3546-rh1536622.patch
1084    # PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
1085    Patch562: pr3539-rh1548475.patch
1086    # 8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode
1087    Patch563: 8171000-pr3542-rh1402819.patch
1088    # 8197546, PR3542, RH1402819: Fix for 8171000 breaks Solaris + Linux builds
1089    Patch564: 8197546-pr3542-rh1402819.patch
1090    # 8185723, PR3553: Zero: segfaults on Power PC 32-bit
1091    Patch565: 8185723-pr3553.patch
1092    # 8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
1093    Patch566: 8186461-pr3557.patch
1094    # PR3559: Use ldrexd for atomic reads on ARMv7.
1095    Patch567: pr3559.patch
1096    # 8187577, PR3578: JVM crash during gc doing concurrent marking
1097    Patch568: 8187577-pr3578.patch
1098    # 8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong
1099    Patch569: 8201509-pr3579.patch
1100    # 8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile
1101    Patch570: 8165489-pr3589.patch
1102    # PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code
1103    Patch571: pr3591.patch
1104    # 8184309, PR3596: Build warnings from GCC 7.1 on Fedora 26
1105    Patch572: 8184309-pr3596.patch
1106    
 #############################################  
 #  
1107  # Patches ineligible for 8u  # Patches ineligible for 8u
 #  
 #############################################  
1108  # 8043805: Allow using a system-installed libjpeg  # 8043805: Allow using a system-installed libjpeg
1109  Patch201: system-libjpeg.patch  Patch201: system-libjpeg.patch
1110  Patch210: suse_linuxfilestore.patch  Patch210: suse_linuxfilestore.patch
1111  # custom securities  # custom securities
1112  Patch300: PR3183.patch  Patch300: PR3183.patch
1113    
 #############################################  
 #  
1114  # Local fixes  # Local fixes
 #  
 #############################################  
   
1115  # PR1834, RH1022017: Reduce curves reported by SSL to those in NSS  # PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
1116  Patch525: pr1834-rh1022017.patch  Patch525: pr1834-rh1022017.patch
1117  # Turn on AssumeMP by default on RHEL systems  # Turn on AssumeMP by default on RHEL systems
1118  Patch534: always_assumemp.patch  Patch534: always_assumemp.patch
1119  # PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts)  # PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts)
1120  Patch539: pr2888.patch  Patch539: pr2888.patch
1121    # PR3575, RH1567204: System cacerts database handling should not affect jssecacerts
1122    Patch540: pr3575-rh1567204.patch
1123    
1124    # Shenandoah fixes
1125    
 #############################################  
 #  
1126  # Non-OpenJDK fixes  # Non-OpenJDK fixes
 #  
 #############################################  
1127    
1128  BuildRequires: autoconf  BuildRequires: autoconf
1129  BuildRequires: automake  BuildRequires: automake
# Line 1158  BuildRequires: alsa-lib-devel Line 1131  BuildRequires: alsa-lib-devel
1131  BuildRequires: binutils  BuildRequires: binutils
1132  BuildRequires: cups-devel  BuildRequires: cups-devel
1133  BuildRequires: desktop-file-utils  BuildRequires: desktop-file-utils
1134  # elfutils only are ok for build without AOT  BuildRequires: elfutils
 BuildRequires: elfutils-devel  
1135  BuildRequires: fontconfig  BuildRequires: fontconfig
1136  BuildRequires: freetype-devel  BuildRequires: freetype-devel
1137  BuildRequires: giflib-devel  BuildRequires: giflib-devel
# Line 1181  BuildRequires: pkgconfig Line 1153  BuildRequires: pkgconfig
1153  BuildRequires: x11-proto-devel  BuildRequires: x11-proto-devel
1154  BuildRequires: zip  BuildRequires: zip
1155  BuildRequires: java-1.8.0-openjdk-devel  BuildRequires: java-1.8.0-openjdk-devel
1156  # Zero-assembler build requirement  # Zero-assembler build requirement.
1157  %ifnarch %{jit_arches}  %ifnarch %{jit_arches}
1158  BuildRequires: libffi-devel  BuildRequires: libffi-devel
1159  %endif  %endif
# Line 1194  BuildRequires: gcc >= 4.8.3-8 Line 1166  BuildRequires: gcc >= 4.8.3-8
1166  BuildRequires: systemtap  BuildRequires: systemtap
1167  %endif  %endif
1168    
1169  # this is always built, also during debug-only build  # this is built always, also during debug-only build
1170  # when it is built in debug-only this package is just placeholder  # when it is built in debug-only, then this package is just placeholder
1171  %{java_rpo %{nil}}  %{java_rpo %{nil}}
1172    
1173  %description  %description
1174  The %{origin_nice} runtime environment.  The OpenJDK runtime environment.
1175    
1176  %if %{include_debug_build}  %if %{include_debug_build}
1177  %package slowdebug  %package debug
1178  Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on}  Summary: OpenJDK Runtime Environment %{debug_on}
1179  Group:   Development/Java  Group:   Development/Java
1180    
1181  %{java_rpo -- %{debug_suffix_unquoted}}  %{java_rpo -- %{debug_suffix_unquoted}}
1182  %description slowdebug  %description debug
1183  The %{origin_nice} runtime environment.  The OpenJDK runtime environment.
1184  %{debug_warning}  %{debug_warning}
1185  %endif  %endif
1186    
1187  %if %{include_normal_build}  %if %{include_normal_build}
1188  %package headless  %package headless
1189  Summary: %{origin_nice} Headless Runtime Environment %{majorver}  Summary: OpenJDK Runtime Environment
1190  Group:   Development/Java  Group:   Development/Java
1191    
1192  %{java_headless_rpo %{nil}}  %{java_headless_rpo %{nil}}
1193    
1194  %description headless  %description headless
1195  The %{origin_nice} runtime environment %{majorver} without audio and video support.  The OpenJDK runtime environment without audio and video support.
1196  %endif  %endif
1197    
1198  %if %{include_debug_build}  %if %{include_debug_build}
1199  %package headless-slowdebug  %package headless-debug
1200  Summary: %{origin_nice} Runtime Environment %{debug_on}  Summary: OpenJDK Runtime Environment %{debug_on}
1201  Group:   Development/Java  Group:   Development/Java
1202    
1203  %{java_headless_rpo -- %{debug_suffix_unquoted}}  %{java_headless_rpo -- %{debug_suffix_unquoted}}
1204    
1205  %description headless-slowdebug  %description headless-debug
1206  The %{origin_nice} runtime environment %{majorver} without audio and video support.  The OpenJDK runtime environment without audio and video support.
1207  %{debug_warning}  %{debug_warning}
1208  %endif  %endif
1209    
1210  %if %{include_normal_build}  %if %{include_normal_build}
1211  %package devel  %package devel
1212  Summary: %{origin_nice} Development Environment %{majorver}  Summary: OpenJDK Development Environment
1213  Group:   Development/Java  Group:   Development/Java
1214    
1215  %{java_devel_rpo %{nil}}  %{java_devel_rpo %{nil}}
1216    
1217  %description devel  %description devel
1218  The %{origin_nice} development tools %{majorver}.  The OpenJDK development tools.
1219  %endif  %endif
1220    
1221  %if %{include_debug_build}  %if %{include_debug_build}
1222  %package devel-slowdebug  %package devel-debug
1223  Summary: %{origin_nice} Development Environment %{majorver} %{debug_on}  Summary: OpenJDK Development Environment %{debug_on}
1224  Group:   Development/Tools  Group:   Development/Tools
1225    
1226  %{java_devel_rpo -- %{debug_suffix_unquoted}}  %{java_devel_rpo -- %{debug_suffix_unquoted}}
1227    
1228  %description devel-slowdebug  %description devel-debug
1229  The %{origin_nice} development tools %{majorver}.  The OpenJDK development tools.
1230  %{debug_warning}  %{debug_warning}
1231  %endif  %endif
1232    
1233  %if %{include_normal_build}  %if %{include_normal_build}
1234  %package demo  %package demo
1235  Summary: %{origin_nice} Demos %{majorver}  Summary: OpenJDK Demos
1236  Group:   Development/Java  Group:   Development/Java
1237    
1238  %{java_demo_rpo %{nil}}  %{java_demo_rpo %{nil}}
1239    
1240  %description demo  %description demo
1241  The %{origin_nice} demos %{majorver}.  The OpenJDK demos.
1242  %endif  %endif
1243    
1244  %if %{include_debug_build}  %if %{include_debug_build}
1245  %package demo-slowdebug  %package demo-debug
1246  Summary: %{origin_nice} Demos %{majorver} %{debug_on}  Summary: OpenJDK Demos %{debug_on}
1247  Group:   Development/Java  Group:   Development/Java
1248    
1249  %{java_demo_rpo -- %{debug_suffix_unquoted}}  %{java_demo_rpo -- %{debug_suffix_unquoted}}
1250    
1251  %description demo-slowdebug  %description demo-debug
1252  The %{origin_nice} demos %{majorver}.  The OpenJDK demos.
1253  %{debug_warning}  %{debug_warning}
1254  %endif  %endif
1255    
1256  %if %{include_normal_build}  %if %{include_normal_build}
1257  %package src  %package src
1258  Summary: %{origin_nice} Source Bundle %{majorver}  Summary: OpenJDK Source Bundle
1259  Group:   Development/Java  Group:   Development/Java
1260    
1261  %{java_src_rpo %{nil}}  %{java_src_rpo %{nil}}
1262    
1263  %description src  %description src
1264  The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver} class library source code for use by IDE indexers and debuggers.  The OpenJDK source bundle.
1265  %endif  %endif
1266    
1267  %if %{include_debug_build}  %if %{include_debug_build}
1268  %package src-slowdebug  %package src-debug
1269  Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug}  Summary: OpenJDK Source Bundle %{for_debug}
1270  Group:   Development/Java  Group:   Development/Java
1271    
1272  %{java_src_rpo -- %{debug_suffix_unquoted}}  %{java_src_rpo -- %{debug_suffix_unquoted}}
1273    
1274  %description src-slowdebug  %description src-debug
1275  The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver} class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}.  The OpenJDK source bundle %{for_debug}.
1276  %endif  %endif
1277    
1278  %if %{include_normal_build}  %if %{include_normal_build}
1279  %package javadoc  %package javadoc
1280  Summary: %{origin_nice} %{majorver} API documentation  Summary: OpenJDK API Documentation
1281  Group:   Documentation  Group:   Documentation
1282  Requires: jpackage-utils  Requires: jpackage-utils
1283  BuildArch: noarch  BuildArch: noarch
# Line 1313  BuildArch: noarch Line 1285  BuildArch: noarch
1285  %{java_javadoc_rpo %{nil}}  %{java_javadoc_rpo %{nil}}
1286    
1287  %description javadoc  %description javadoc
1288  The %{origin_nice} %{majorver} API documentation.  The OpenJDK API documentation.
1289  %endif  %endif
1290    
1291  %if %{include_normal_build}  %if %{include_normal_build}
1292  %package javadoc-zip  %package javadoc-zip
1293  Summary: %{origin_nice} %{majorver} API documentation compressed in single archive  Summary: OpenJDK API Documentation compressed in single archive
1294  Group:   Documentation  Group:   Documentation
1295  Requires: javapackages-tools  Requires: javapackages-tools
1296  BuildArch: noarch  BuildArch: noarch
# Line 1326  BuildArch: noarch Line 1298  BuildArch: noarch
1298  %{java_javadoc_rpo %{nil}}  %{java_javadoc_rpo %{nil}}
1299    
1300  %description javadoc-zip  %description javadoc-zip
1301  The %{origin_nice} %{majorver} API documentation compressed in single archive.  The OpenJDK API documentation compressed in single archive.
1302  %endif  %endif
1303    
1304  %if %{include_debug_build}  %if %{include_debug_build}
1305  %package javadoc-slowdebug  %package javadoc-debug
1306  Summary: %{origin_nice} %{majorver} API documentation %{for_debug}  Summary: OpenJDK API Documentation %{for_debug}
1307  Group:   Documentation  Group:   Documentation
1308  Requires: jpackage-utils  Requires: jpackage-utils
1309  BuildArch: noarch  BuildArch: noarch
1310    
1311  %{java_javadoc_rpo -- %{debug_suffix_unquoted}}  %{java_javadoc_rpo -- %{debug_suffix_unquoted}}
1312    
1313  %description javadoc-slowdebug  %description javadoc-debug
1314  The %{origin_nice} %{majorver} API documentation %{for_debug}.  The OpenJDK API documentation %{for_debug}.
1315  %endif  %endif
1316    
1317  %if %{include_debug_build}  %if %{include_debug_build}
1318  %package javadoc-zip-slowdebug  %package javadoc-zip-debug
1319  Summary: %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug}  Summary: OpenJDK API Documentation compressed in single archive %{for_debug}
1320  Group:   Documentation  Group:   Documentation
1321  Requires: javapackages-tools  Requires: javapackages-tools
1322  BuildArch: noarch  BuildArch: noarch
1323    
1324  %{java_javadoc_rpo -- %{debug_suffix_unquoted}}  %{java_javadoc_rpo -- %{debug_suffix_unquoted}}
1325    
1326  %description javadoc-zip-slowdebug  %description javadoc-zip-debug
1327  The %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug}.  The OpenJDK API documentation compressed in single archive %{for_debug}.
1328  %endif  %endif
1329    
1330    
1331  %if %{include_normal_build}  %if %{include_normal_build}
1332  %package accessibility  %package accessibility
1333  Summary: %{origin_nice} %{majorver} accessibility connector  Summary: OpenJDK accessibility connector
1334    
1335  %{java_accessibility_rpo %{nil}}  %{java_accessibility_rpo %{nil}}
1336    
1337  %description accessibility  %description accessibility
1338  Enables accessibility support in %{origin_nice} %{majorver} by using java-atk-wrapper. This allows  Enables accessibility support in OpenJDK by using java-atk-wrapper. This allows
1339  compatible at-spi2 based accessibility programs to work for AWT and Swing-based  compatible at-spi2 based accessibility programs to work for AWT and Swing-based
1340  programs.  programs.
1341    
1342  Please note, the java-atk-wrapper is still in beta, and %{origin_nice} %{majorver} itself is still  Please note, the java-atk-wrapper is still in beta, and OpenJDK itself is still
1343  being tuned to be working with accessibility features. There are known issues  being tuned to be working with accessibility features. There are known issues
1344  with accessibility on, so please do not install this package unless you really  with accessibility on, so please do not install this package unless you really
1345  need to.  need to.
1346  %endif  %endif
1347    
1348  %if %{include_debug_build}  %if %{include_debug_build}
1349  %package accessibility-slowdebug  %package accessibility-debug
1350  Summary: %{origin_nice} %{majorver} accessibility connector %{for_debug}  Summary: OpenJDK accessibility connector %{for_debug}
1351    
1352  %{java_accessibility_rpo -- %{debug_suffix_unquoted}}  %{java_accessibility_rpo -- %{debug_suffix_unquoted}}
1353    
1354  %description accessibility-slowdebug  %description accessibility-debug
1355  See normal java-%{version}-openjdk-accessibility description.  See normal java-%{version}-openjdk-accessibility description.
1356  %endif  %endif
1357    
# Line 1402  Provides: javafx-devel = %{epoch}:%{vers Line 1374  Provides: javafx-devel = %{epoch}:%{vers
1374  Set of links from OpenJDK (sdk) to OpenJFX  Set of links from OpenJDK (sdk) to OpenJFX
1375    
1376  %if %{include_debug_build}  %if %{include_debug_build}
1377  %package openjfx-slowdebug  %package openjfx-debug
1378  Summary: OpenJDK x OpenJFX connector %{for_debug}. his package adds symliks finishing Java FX integration to %{name}-slowdebug  Summary: OpenJDK x OpenJFX connector %{for_debug}. his package adds symliks finishing Java FX integration to %{name}-debug
1379  Requires: %{name}-slowdebug%{?_isa} = %{epoch}:%{version}-%{release}  Requires: %{name}-debug%{?_isa} = %{epoch}:%{version}-%{release}
1380  Requires: openjfx%{?_isa}  Requires: openjfx%{?_isa}
1381  Provides: javafx-slowdebug = %{epoch}:%{version}-%{release}  Provides: javafx-debug = %{epoch}:%{version}-%{release}
1382  %description openjfx-slowdebug  %description openjfx-debug
1383  Set of links from OpenJDK-slowdebug (jre) to normal OpenJFX. OpenJFX do not support debug buuilds of itself  Set of links from OpenJDK-debug (jre) to normal OpenJFX. OpenJFX do not support debug buuilds of itself
1384    
1385  %package openjfx-devel-slowdebug  %package openjfx-devel-debug
1386  Summary: OpenJDK x OpenJFX connector for FX developers %{for_debug}. This package adds symliks finishing Java FX integration to %{name}-devel-slowdebug  Summary: OpenJDK x OpenJFX connector for FX developers %{for_debug}. This package adds symliks finishing Java FX integration to %{name}-devel-debug
1387  Requires: %{name}-devel-slowdebug%{?_isa} = %{epoch}:%{version}-%{release}  Requires: %{name}-devel-debug%{?_isa} = %{epoch}:%{version}-%{release}
1388  Requires: openjfx-devel%{?_isa}  Requires: openjfx-devel%{?_isa}
1389  Provides: javafx-devel-slowdebug = %{epoch}:%{version}-%{release}  Provides: javafx-devel-debug = %{epoch}:%{version}-%{release}
1390  %description openjfx-devel-slowdebug  %description openjfx-devel-debug
1391  Set of links from OpenJDK-slowdebug (sdk) to normal OpenJFX. OpenJFX do not support debug buuilds of itself  Set of links from OpenJDK-debug (sdk) to normal OpenJFX. OpenJFX do not support debug buuilds of itself
1392  %endif  %endif
1393  %endif  %endif
1394    
# Line 1434  else Line 1406  else
1406    exit 12    exit 12
1407  fi  fi
1408  if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 ] ; then  if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 ] ; then
1409    echo "You have disabled both include_debug_build and include_debug_build. That is a no go."    echo "you have disabled both include_debug_build and include_debug_build. no go."
1410    exit 13    exit 13
1411  fi  fi
1412  %setup -q -c -n %{uniquesuffix ""} -T -a 0  %setup -q -c -n %{uniquesuffix ""} -T -a 0
# Line 1502  sh %{SOURCE12} Line 1474  sh %{SOURCE12}
1474  %patch104  %patch104
1475  %endif  %endif
1476    
1477    # x86 fixes
1478    %patch105
1479    
1480  # ppc64le fixes  # ppc64le fixes
1481  %patch603  %patch603
1482  %patch601  %patch601
1483  %patch602  %patch602
1484    
1485  # Zero fixes.  # Zero fixes.
1486    %patch106
1487    
1488  # Upstreamable fixes  # Upstreamable fixes
1489  %patch502  %patch502
# Line 1529  sh %{SOURCE12} Line 1505  sh %{SOURCE12}
1505  %patch523  %patch523
1506  %patch526  %patch526
1507  %patch528  %patch528
1508    %patch529
1509  %patch538  %patch538
 %patch540  
1510  %patch560  %patch560
1511  pushd %{top_level_dir_name}/jdk  pushd openjdk/jdk
1512  %patch529 -p1  %patch530 -p1
1513  popd # openjdk  popd
1514  %patch561  %patch561
1515    %patch562
1516    %patch563
1517    %patch564
1518    %patch565
1519    %patch566
1520    %patch567
1521    %patch569
1522    %patch571
1523    %patch572
1524    
1525  # RPM-only fixes  # RPM-only fixes
1526  %patch525  %patch525
1527  %patch539  %patch539
1528    %patch540
1529    
1530  # RHEL-only patches  # RHEL-only patches
1531  %if 0%{?rhel}  %if 0%{?rhel}
1532  %patch534  %patch534
1533  %endif  %endif
1534    
1535    # Shenandoah-only patches
1536    %if %{use_shenandoah_hotspot}
1537    %else
1538    %patch568
1539    %patch570
1540    %endif
1541    
1542  # Extract systemtap tapsets  # Extract systemtap tapsets
1543  %if %{with_systemtap}  %if %{with_systemtap}
1544  tar -x -I xz -f %{SOURCE8}  tar -x -I xz -f %{SOURCE8}
# Line 1556  cp -r tapset tapset%{debug_suffix} Line 1549  cp -r tapset tapset%{debug_suffix}
1549    
1550  for suffix in %{build_loop} ; do  for suffix in %{build_loop} ; do
1551    for file in "tapset"$suffix/*.in; do    for file in "tapset"$suffix/*.in; do
1552      OUTPUT_FILE=`echo $file | sed -e "s:%{systemtap_javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g"`      OUTPUT_FILE=`echo $file | sed -e s:%{javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g`
1553      sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g" $file > $file.1      sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
1554  # TODO find out which architectures other than i686 have a client vm  # TODO find out which architectures other than i686 have a client vm
1555  %ifarch %{ix86}  %ifarch %{ix86}
1556      sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/jre/lib/%{archinstall}/client/libjvm.so:g" $file.1 > $OUTPUT_FILE      sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
1557  %else  %else
1558      sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.1 > $OUTPUT_FILE      sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE
1559  %endif  %endif
1560      sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE      sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g $OUTPUT_FILE
1561      sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE      sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
1562      sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE      sed -i -e s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g $OUTPUT_FILE
1563    done    done
1564  done  done
1565  # systemtap tapsets ends  # systemtap tapsets ends
# Line 1579  for file in %{SOURCE9} %{SOURCE10} ; do Line 1572  for file in %{SOURCE9} %{SOURCE10} ; do
1572      EXT="${FILE##*.}"      EXT="${FILE##*.}"
1573      NAME="${FILE%.*}"      NAME="${FILE%.*}"
1574      OUTPUT_FILE=$NAME$suffix.$EXT      OUTPUT_FILE=$NAME$suffix.$EXT
1575      sed    -e  "s:@JAVA_HOME@:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE      sed -e s:#JAVA_HOME#:%{sdkbindir -- $suffix}:g $file > $OUTPUT_FILE
1576      sed -i -e  "s:@JRE_HOME@:%{jrebindir -- $suffix}:g" $OUTPUT_FILE      sed -i -e  s:#JRE_HOME#:%{jrebindir -- $suffix}:g $OUTPUT_FILE
1577      sed -i -e  "s:@ARCH@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE      sed -i -e  s:#ARCH#:%{version}-%{release}.%{_arch}$suffix:g $OUTPUT_FILE
     sed -i -e  "s:@JAVA_MAJOR_VERSION@:%{majorver}:g" $OUTPUT_FILE  
     sed -i -e  "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE  
1578  done  done
1579  done  done
1580    
1581  # Setup nss.cfg  # Setup nss.cfg
1582  sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg  sed -e s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g %{SOURCE11} > nss.cfg
   
1583    
1584  %build  %build
1585  # How many cpu's do we have?  # How many cpu's do we have?
# Line 1600  export NUM_PROC=${NUM_PROC:-1} Line 1590  export NUM_PROC=${NUM_PROC:-1}
1590  [ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}  [ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
1591  %endif  %endif
1592    
1593    # Build IcedTea and OpenJDK.
1594  %ifarch s390x sparc64 alpha %{power64} %{aarch64}  %ifarch s390x sparc64 alpha %{power64} %{aarch64}
1595  export ARCH_DATA_MODEL=64  export ARCH_DATA_MODEL=64
1596  %endif  %endif
# Line 1612  export CFLAGS="$CFLAGS -mieee" Line 1603  export CFLAGS="$CFLAGS -mieee"
1603  # Explicitly set the C++ standard as the default has changed on GCC >= 6  # Explicitly set the C++ standard as the default has changed on GCC >= 6
1604  EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"  EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"
1605  EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"  EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"
   
1606  %ifarch %{power64} ppc  %ifarch %{power64} ppc
1607  # fix rpmlint warnings  # fix rpmlint warnings
1608  EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"  EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
1609  %endif  %endif
1610  export EXTRA_CFLAGS  export EXTRA_CFLAGS
1611    
1612  (cd %{top_level_dir_name}/common/autoconf  (cd openjdk/common/autoconf
1613   bash ./autogen.sh   bash ./autogen.sh
1614  )  )
1615    
1616  for suffix in %{build_loop} ; do  for suffix in %{build_loop} ; do
1617  if [ "x$suffix" = "x" ] ; then  if [ "$suffix" = "%{debug_suffix}" ] ; then
1618    debugbuild=release  debugbuild=%{debugbuild_parameter}
1619  else  else
1620    # change --something to something  debugbuild=%{normalbuild_parameter}
   debugbuild=`echo $suffix  | sed "s/-//g"`  
1621  fi  fi
1622    
1623  mkdir -p %{buildoutputdir -- $suffix}  mkdir -p %{buildoutputdir -- $suffix}
# Line 1649  bash ../../configure \ Line 1638  bash ../../configure \
1638      --with-libjpeg=system \      --with-libjpeg=system \
1639      --with-giflib=system \      --with-giflib=system \
1640      --with-libpng=system \      --with-libpng=system \
1641      --with-lcms=system \      --with-lcms=bundled \
1642      --with-stdc++lib=dynamic \      --with-stdc++lib=dynamic \
 %ifarch %{ix86}  
     --with-extra-cxxflags="-mstackrealign $EXTRA_CPP_FLAGS" \  
     --with-extra-cflags="-mstackrealign $EXTRA_CFLAGS" \  
 %else  
1643      --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \      --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
1644      --with-extra-cflags="$EXTRA_CFLAGS" \      --with-extra-cflags="$EXTRA_CFLAGS" \
 %endif  
1645      --with-extra-ldflags="%{ourldflags}" \      --with-extra-ldflags="%{ourldflags}" \
1646      --with-num-cores="$NUM_PROC"      --with-num-cores="$NUM_PROC"
1647    
# Line 1683  make zip-docs Line 1667  make zip-docs
1667  # the build (erroneously) removes read permissions from some jars  # the build (erroneously) removes read permissions from some jars
1668  # this is a regression in OpenJDK 7 (our compiler):  # this is a regression in OpenJDK 7 (our compiler):
1669  # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437  # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
1670  find images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;  find images/%{j2sdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
1671  chmod ugo+r images/%{jdkimage}/lib/ct.sym  chmod ugo+r images/%{j2sdkimage}/lib/ct.sym
1672    
1673  # remove redundant *diz and *debuginfo files  # remove redundant *diz and *debuginfo files
1674  find images/%{jdkimage} -iname '*.diz' -exec rm {} \;  find images/%{j2sdkimage} -iname '*.diz' -exec rm {} \;
1675  find images/%{jdkimage} -iname '*.debuginfo' -exec rm {} \;  find images/%{j2sdkimage} -iname '*.debuginfo' -exec rm {} \;
   
 # Build screws up permissions on binaries  
 # https://bugs.openjdk.java.net/browse/JDK-8173610  
 find images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;  
 find images/%{jdkimage}/bin/ -exec chmod +x {} \;  
1676    
1677  popd >& /dev/null  popd >& /dev/null
1678    
1679  # Install nss.cfg right away as we will be using the JRE above  # Install nss.cfg right away as we will be using the JRE above
1680  export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}  export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{j2sdkimage}
1681    
1682  # Install nss.cfg right away as we will be using the JRE above  # Install nss.cfg right away as we will be using the JRE above
1683  install -m 644 nss.cfg $JAVA_HOME/jre/lib/security/  install -m 644 nss.cfg $JAVA_HOME/jre/lib/security/
# Line 1707  install -m 644 nss.cfg $JAVA_HOME/jre/li Line 1686  install -m 644 nss.cfg $JAVA_HOME/jre/li
1686  rm $JAVA_HOME/jre/lib/tzdb.dat  rm $JAVA_HOME/jre/lib/tzdb.dat
1687  ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat  ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat
1688    
1689  # build cycles  #build cycles
1690  done  done
1691    
1692  %check  %check
# Line 1715  done Line 1694  done
1694  # We test debug first as it will give better diagnostics on a crash  # We test debug first as it will give better diagnostics on a crash
1695  for suffix in %{rev_build_loop} ; do  for suffix in %{rev_build_loop} ; do
1696    
1697  export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}  export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{j2sdkimage}
1698    
1699  # Check unlimited policy has been used  # Check unlimited policy has been used
1700  $JAVA_HOME/bin/javac -d . %{SOURCE13}  $JAVA_HOME/bin/javac -d . %{SOURCE13}
# Line 1733  do Line 1712  do
1712      # All these tests rely on RPM failing the build if the exit code of any set      # All these tests rely on RPM failing the build if the exit code of any set
1713      # of piped commands is non-zero.      # of piped commands is non-zero.
1714    
1715      # Test for .debug_* sections in the shared object. This is the main test      # Test for .debug_* sections in the shared object. This is the  main test.
1716      # Stripped objects will not contain these      # Stripped objects will not contain these.
1717      eu-readelf -S "$lib" | grep "] .debug_"      eu-readelf -S "$lib" | grep "] .debug_"
1718      test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2      test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
1719    
1720      # Test FILE symbols. These will most likely be removed by anything that      # Test FILE symbols. These will most likely be removed by anyting that
1721      # manipulates symbol tables because it's generally useless. So a nice test      # manipulates symbol tables because it's generally useless. So a nice test
1722      # that nothing has messed with symbols      # that nothing has messed with symbols.
1723      old_IFS="$IFS"      old_IFS="$IFS"
1724      IFS=$'\n'      IFS=$'\n'
1725      for line in $(eu-readelf -s "$lib" | grep "00000000      0 FILE    LOCAL  DEFAULT")      for line in $(eu-readelf -s "$lib" | grep "00000000      0 FILE    LOCAL  DEFAULT")
# Line 1751  do Line 1730  do
1730      done      done
1731      IFS="$old_IFS"      IFS="$old_IFS"
1732    
1733      # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking      # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking.
1734      if [ "`basename $lib`" = "libjvm.so" ]; then      if [ "`basename $lib`" = "libjvm.so" ]; then
1735        eu-readelf -s "$lib" | \        eu-readelf -s "$lib" | \
1736          grep -E "00000000      0 FILE    LOCAL  DEFAULT      ABS javaCalls.(cpp|o)$"          grep -E "00000000      0 FILE    LOCAL  DEFAULT      ABS javaCalls.(cpp|o)$"
# Line 1759  do Line 1738  do
1738    
1739      # Test that there are no .gnu_debuglink sections pointing to another      # Test that there are no .gnu_debuglink sections pointing to another
1740      # debuginfo file. There shouldn't be any debuginfo files, so the link makes      # debuginfo file. There shouldn't be any debuginfo files, so the link makes
1741      # no sense either      # no sense either.
1742      eu-readelf -S "$lib" | grep 'gnu'      eu-readelf -S "$lib" | grep 'gnu'
1743      if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then      if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
1744        echo "bad .gnu_debuglink section."        echo "bad .gnu_debuglink section."
# Line 1801  $JAVA_HOME/bin/javap -l java.nio.ByteBuf Line 1780  $JAVA_HOME/bin/javap -l java.nio.ByteBuf
1780  $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable  $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
1781  $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable  $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
1782    
1783  # build cycles check  #build cycles check
1784  done  done
1785    
1786  %install  %install
# Line 1809  STRIP_KEEP_SYMTAB=libjvm* Line 1788  STRIP_KEEP_SYMTAB=libjvm*
1788    
1789  for suffix in %{build_loop} ; do  for suffix in %{build_loop} ; do
1790    
1791  # Install the jdk  pushd %{buildoutputdir -- $suffix}/images/%{j2sdkimage}
 pushd %{buildoutputdir -- $suffix}/images/%{jdkimage}  
1792    
1793  # Install jsa directories so we can owe them  #install jsa directories so we can owe them
1794  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/server/  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/server/
1795  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/client/  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/client/
1796    
# Line 1823  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre Line 1801  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre
1801    cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}    cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}
1802    
1803  %if %{with_systemtap}  %if %{with_systemtap}
1804    # Install systemtap support files    # Install systemtap support files.
1805    install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset    install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
1806    # note, that uniquesuffix  is in BUILD dir in this case    # note, that uniquesuffix  is in BUILD dir in this case
1807    cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/    cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
# Line 1831  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre Line 1809  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre
1809     tapsetFiles=`ls *.stp`     tapsetFiles=`ls *.stp`
1810    popd    popd
1811    install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}    install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
1812    for name in $tapsetFiles ; do    pushd $RPM_BUILD_ROOT%{tapsetdir}
1813      targetName=`echo $name | sed "s/.stp/$suffix.stp/"`      RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir -- $suffix}/tapset %{tapsetdir})
1814      ln -sf %{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName      for name in $tapsetFiles ; do
1815    done        targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
1816          ln -sf $RELATIVE/$name $targetName
1817        done
1818      popd
1819  %endif  %endif
1820    
1821    # Remove empty cacerts database    # Remove empty cacerts database.
1822    rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/security/cacerts    rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/security/cacerts
1823    # Install cacerts symlink needed by some apps which hardcode the path    # Install cacerts symlink needed by some apps which hardcode the path.
1824    pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/security    pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/security
1825        ln -sf /etc/pki/java/cacerts .      RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
1826          %{_jvmdir}/%{jredir -- $suffix}/lib/security)
1827        ln -sf $RELATIVE/cacerts .
1828    popd    popd
1829    
1830    # Install extension symlinks.    # Install extension symlinks.
# Line 1871  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre Line 1854  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre
1854    # Install JCE policy symlinks.    # Install JCE policy symlinks.
1855    install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix -- $suffix}/jce/vanilla    install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix -- $suffix}/jce/vanilla
1856    
1857    # Install versioned symlinks    # Install versioned symlinks.
1858    pushd $RPM_BUILD_ROOT%{_jvmdir}    pushd $RPM_BUILD_ROOT%{_jvmdir}
1859      ln -sf %{jredir -- $suffix} %{jrelnk -- $suffix}      ln -sf %{jredir -- $suffix} %{jrelnk -- $suffix}
1860    popd    popd
# Line 1883  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre Line 1866  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre
1866    # Remove javaws man page    # Remove javaws man page
1867    rm -f man/man1/javaws*    rm -f man/man1/javaws*
1868    
1869    # Install man pages    # Install man pages.
1870    install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1    install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
1871    for manpage in man/man1/*    for manpage in man/man1/*
1872    do    do
1873      # Convert man pages to UTF8 encoding      # Convert man pages to UTF8 encoding.
1874      iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp      iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
1875      mv -f $manpage.tmp $manpage      mv -f $manpage.tmp $manpage
1876      install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \      install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
# Line 1906  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre Line 1889  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jre
1889  popd  popd
1890    
1891    
1892  # Install Javadoc documentation  # Install Javadoc documentation.
1893  install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}  install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
1894  cp -a %{buildoutputdir -- $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}  cp -a %{buildoutputdir -- $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
1895  built_doc_archive=`echo "jdk-%{javaver}_%{updatever}$suffix-%{buildver}-docs.zip" | sed  s/slowdebug/debug/`  cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{javaver}_%{updatever}$suffix-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
 cp -a %{buildoutputdir -- $suffix}/bundles/$built_doc_archive  $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip  
1896    
1897  # Install icons and menu entries  # Install icons and menu entries.
1898  for s in 16 24 32 48 ; do  for s in 16 24 32 48 ; do
1899    install -D -p -m 644 \    install -D -p -m 644 \
1900      openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \      openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
1901      $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png      $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
1902  done  done
1903    
1904  # Install desktop files  # Install desktop files.
1905  install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}  install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
1906  for e in jconsole$suffix policytool$suffix ; do  for e in jconsole$suffix policytool$suffix ; do
1907      desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \      desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
# Line 2006  bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmd Line 1988  bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmd
1988  # https://bugzilla.redhat.com/show_bug.cgi?id=1183793  # https://bugzilla.redhat.com/show_bug.cgi?id=1183793
1989  touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/security/java.security  touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/security/java.security
1990    
 # stabilize permissions  
 find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;  
 find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;  
 find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "ASSEMBLY_EXCEPTION" -exec chmod 644 {} \; ;  
 find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "LICENSE" -exec chmod 644 {} \; ;  
 find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "THIRD_PARTY_README" -exec chmod 644 {} \; ;  
   
1991  # end, dual install  # end, dual install
1992  done  done
1993    
1994  %if %{include_normal_build}  %if %{include_normal_build}
1995  # intentionally only for non-debug  # intentioanlly only for non-debug
1996  %pretrans headless -p <lua>  %pretrans headless -p <lua>
1997  -- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue  -- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
1998  -- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre  -- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
1999  -- if copy-jdk-configs is in transaction, it installs in pretrans to temp  -- if copy-jdk-configs is in transaction, it installs in pretrans to temp
2000  -- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in tranasction  and so is  -- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in tranasction  and so is
2001  -- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends  -- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
2002  -- whether copy-jdk-configs is installed or not. If so, then configs are copied  -- whether copy-jdk-configs is installed or not. If so, then configs are copied
2003  -- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all  -- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
2004  local posix = require "posix"  local posix = require "posix"
# Line 2040  local stat2 = posix.stat(SOURCE2, "type" Line 2015  local stat2 = posix.stat(SOURCE2, "type"
2015      print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")      print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
2016    end;    end;
2017    package.path = package.path .. ";" .. SOURCE1    package.path = package.path .. ";" .. SOURCE1
2018  else  else
2019    if (stat2 ~= nil) then    if (stat2 ~= nil) then
2020    if (debug) then    if (debug) then
2021      print(SOURCE2 .." exists - copy-jdk-configs alrady installed and NOT in transation. Using.")      print(SOURCE2 .." exists - copy-jdk-configs alrady installed and NOT in transation. Using.")
# Line 2055  else Line 2030  else
2030    return    return
2031    end    end
2032  end  end
2033  -- run content of included file with fake args  -- run contetn of included file with fake args
2034  arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}  arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
2035  require "copy_jdk_configs.lua"  require "copy_jdk_configs.lua"
2036    
# Line 2085  require "copy_jdk_configs.lua" Line 2060  require "copy_jdk_configs.lua"
2060  %{postun_javadoc_zip %{nil}}  %{postun_javadoc_zip %{nil}}
2061  %endif  %endif
2062    
2063  %if %{include_normal_build}  %if %{include_normal_build}
2064  %files  %files
2065  # main package builds always  # main package builds always
2066  %{files_jre %{nil}}  %{files_jre %{nil}}
# Line 2095  require "copy_jdk_configs.lua" Line 2070  require "copy_jdk_configs.lua"
2070  %endif  %endif
2071    
2072    
2073  %if %{include_normal_build}  %if %{include_normal_build}
2074  %files headless  %files headless
2075  # important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue  # important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
2076  # all config/noreplace files (and more) have to be declared in pretrans. See pretrans  # all config/norepalce files (and more) have to be declared in pretrans. See pretrans
2077  %{files_jre_headless %{nil}}  %{files_jre_headless %{nil}}
2078    
2079  %files devel  %files devel
# Line 2113  require "copy_jdk_configs.lua" Line 2088  require "copy_jdk_configs.lua"
2088  %files javadoc  %files javadoc
2089  %{files_javadoc %{nil}}  %{files_javadoc %{nil}}
2090    
 # this puts huge file to /usr/share  
 # unluckily ti is really a documentation file  
 # and unluckily it really is archtecture-depndent, as ag aot and grail are now x86_64 only  
 # same for debug variant  
2091  %files javadoc-zip  %files javadoc-zip
2092  %{files_javadoc_zip %{nil}}  %{files_javadoc_zip %{nil}}
2093    
# Line 2130  require "copy_jdk_configs.lua" Line 2101  require "copy_jdk_configs.lua"
2101  %endif  %endif
2102  %endif  %endif
2103    
2104  %if %{include_debug_build}  %if %{include_debug_build}
2105  %files slowdebug  %files debug
2106  %{files_jre -- %{debug_suffix_unquoted}}  %{files_jre -- %{debug_suffix_unquoted}}
2107    
2108  %files headless-slowdebug  %files headless-debug
2109  %{files_jre_headless -- %{debug_suffix_unquoted}}  %{files_jre_headless -- %{debug_suffix_unquoted}}
2110    
2111  %files devel-slowdebug  %files devel-debug
2112  %{files_devel -- %{debug_suffix_unquoted}}  %{files_devel -- %{debug_suffix_unquoted}}
2113    
2114  %files demo-slowdebug -f %{name}-demo.files-slowdebug  %files demo-debug -f %{name}-demo.files-debug
2115  %{files_demo -- %{debug_suffix_unquoted}}  %{files_demo -- %{debug_suffix_unquoted}}
2116    
2117  %files src-slowdebug  %files src-debug
2118  %{files_src -- %{debug_suffix_unquoted}}  %{files_src -- %{debug_suffix_unquoted}}
2119    
2120  %files javadoc-slowdebug  %files javadoc-debug
2121  %{files_javadoc -- %{debug_suffix_unquoted}}  %{files_javadoc -- %{debug_suffix_unquoted}}
2122    
2123  %files javadoc-zip-slowdebug  %files javadoc-zip-debug
2124  %{files_javadoc_zip -- %{debug_suffix_unquoted}}  %{files_javadoc_zip -- %{debug_suffix_unquoted}}
2125    
2126  %files accessibility-slowdebug  %files accessibility-debug
2127  %{files_accessibility -- %{debug_suffix_unquoted}}  %{files_accessibility -- %{debug_suffix_unquoted}}
2128    
2129  %if %{with_openjfx_binding}  %if %{with_openjfx_binding}
2130  %files openjfx-slowdebug -f %{name}-openjfx.files-slowdebug  %files openjfx-debug -f %{name}-openjfx.files-debug
2131    
2132  %files openjfx-devel-slowdebug -f %{name}-openjfx-devel.files-slowdebug  %files openjfx-devel-debug -f %{name}-openjfx-devel.files-debug
2133  %endif  %endif
2134  %endif  %endif
2135    

Legend:
Removed from v.1236868  
changed lines
  Added in v.1237287

  ViewVC Help
Powered by ViewVC 1.1.30