java-1.8.0-openjdk-vl.spec 75 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175
  1. %bcond_with initial_build
  2. %bcond_with debug_build
  3. %bcond_without system_nss
  4. %global __global_ldflags -Wl,-z,relro
  5. # for vbuilder
  6. %global is_vbuilder %(if [ $USER == "vbuilder" ]; then echo 1; else echo 0; fi)
  7. %if 0%is_vbuilder
  8. %global _smp_ncpus_max 1
  9. %endif
  10. # note, parametrised macros are order-senisitve (unlike not-parametrized) even with normal macros
  11. # also necessary when passing it as parameter other macros. If not macro, then it is considered as switch
  12. %global debug_suffix_unquoted -debug
  13. # quoted one for shell operations
  14. %global debug_suffix "%{debug_suffix_unquoted}"
  15. %global normal_suffix ""
  16. #if you wont only debug build, but providing java, build only normal build, but set normalbuild_parameter
  17. %global debugbuild_parameter slowdebug
  18. %global normalbuild_parameter release
  19. %global debug_warning This package have full debug on. Install only in need, and remove asap.
  20. %global debug_on with full debug on
  21. %global for_debug for packages with debug on
  22. # by default we build normal build always.
  23. %global include_normal_build 1
  24. %if %{include_normal_build}
  25. %global build_loop1 %{normal_suffix}
  26. %else
  27. %global build_loop1 %{nil}
  28. %endif
  29. %if %{with debug_build}
  30. %global include_debug_build 1
  31. %else
  32. %global include_debug_build 0
  33. %endif
  34. # on intels, we build shenandoah htspot
  35. %ifarch x86_64
  36. %global use_shenandoah_hotspot 1
  37. %else
  38. %global use_shenandoah_hotspot 0
  39. %endif
  40. %if %{include_debug_build}
  41. %global build_loop2 %{debug_suffix}
  42. %else
  43. %global build_loop2 %{nil}
  44. %endif
  45. # if you disable both builds, then build fails
  46. %global build_loop %{build_loop1} %{build_loop2}
  47. # note, that order normal_suffix debug_suffix, in case of both enabled,
  48. # is expected in one single case at the end of build
  49. %global rev_build_loop %{build_loop2} %{build_loop1}
  50. %ifarch %{jit_arches}
  51. %global bootstrap_build 1
  52. %else
  53. %global bootstrap_build 0
  54. %endif
  55. %if %{bootstrap_build}
  56. %global targets bootcycle-images docs
  57. %else
  58. %global targets all
  59. %endif
  60. %global aarch64 aarch64 arm64 armv8
  61. %global multilib_arches x86_64
  62. %global jit_arches %{ix86} x86_64 %{aarch64}
  63. %ifnarch %{jit_arches}
  64. # Disable hardened build on non-jit arches. Work-around for RHBZ#1290936.
  65. %undefine _hardened_build
  66. %global ourcppflags %{nil}
  67. %global ourldflags %{nil}
  68. %else
  69. %ifarch %{aarch64}
  70. # Disable hardened build on AArch64 as it didn't bootcycle
  71. %undefine _hardened_build
  72. %global ourcppflags "-fstack-protector-strong"
  73. %global ourldflags %{nil}
  74. %else
  75. # Filter out flags from the optflags macro that cause problems with the OpenJDK build
  76. # We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2
  77. # We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
  78. # We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
  79. # We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
  80. %global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
  81. %global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
  82. %global ourldflags %{__global_ldflags}
  83. %endif
  84. %endif
  85. %if %{with system_nss}
  86. # With diabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path
  87. # the initialisation must be here. LAter the pkg-connfig have bugy behaviour
  88. #looks liekopenjdk RPM specific bug
  89. # Always set this so the nss.cfg file is not broken
  90. %global NSS_LIBDIR %(pkg-config --variable=libdir nss)
  91. %global NSS_LIBS %(pkg-config --libs nss)
  92. %global NSS_CFLAGS %(pkg-config --cflags nss-softokn)
  93. # see https://bugzilla.redhat.com/show_bug.cgi?id=1332456
  94. %global NSSSOFTOKN_BUILDTIME_NUMBER %(pkg-config --modversion nss-softokn || : )
  95. #this is worakround for processing of requires during srpm creation
  96. %global NSSSOFTOKN_BUILDTIME_VERSION %(if [ "x%{NSSSOFTOKN_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSSSOFTOKN_BUILDTIME_NUMBER}" ;fi)
  97. %global NSS_BUILDTIME_NUMBER %(pkg-config --modversion nss || : )
  98. %global NSS_BUILDTIME_VERSION %(if [ "x%{NSS_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSS_BUILDTIME_NUMBER}" ;fi)
  99. %endif
  100. # fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
  101. %global _privatelibs libmawt[.]so.*
  102. %global __provides_exclude ^(%{_privatelibs})$
  103. %global __requires_exclude ^(%{_privatelibs})$
  104. %ifarch x86_64
  105. %global archinstall amd64
  106. %endif
  107. %ifarch %{ix86}
  108. %global archinstall i386
  109. %endif
  110. %ifarch %{arm}
  111. %global archinstall arm
  112. %endif
  113. %ifarch %{aarch64}
  114. %global archinstall aarch64
  115. %endif
  116. %ifnarch %{jit_arches}
  117. %global archinstall %{_arch}
  118. %endif
  119. %ifarch %{jit_arches}
  120. %global with_systemtap 1
  121. %else
  122. %global with_systemtap 0
  123. %endif
  124. # Convert an absolute path to a relative path. Each symbolic link is
  125. # specified relative to the directory in which it is installed so that
  126. # it will resolve properly within chrooted installations.
  127. %global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
  128. %global abs2rel %{__perl} -e %{script}
  129. # Standard JPackage naming and versioning defines.
  130. %global origin openjdk
  131. # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
  132. %global project aarch64-port
  133. %global repo jdk8u
  134. %global revision aarch64-jdk8u92-b14
  135. # eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%)
  136. %global whole_update %(VERSION=%{revision}; echo ${VERSION%%-*})
  137. # eg jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
  138. %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u})
  139. # eg jdk8u60-b27 -> b27
  140. %global buildver %(VERSION=%{revision}; echo ${VERSION##*-})
  141. # priority must be 7 digits in total. The expression is workarounding tip
  142. %global priority %(TIP=18000%{updatever}; echo ${TIP/tip/99})
  143. %global javaver 1.8.0
  144. # parametrized macros are order-sensitive
  145. %global fullversion %{name}-%{version}-%{release}
  146. #images stub
  147. %global j2sdkimage j2sdk-image
  148. # output dir stub
  149. %global buildoutputdir() %{expand:openjdk/build/jdk8.build%1}
  150. #we can copy the javadoc to not arched dir, or made it not noarch
  151. %global uniquejavadocdir() %{expand:%{fullversion}%1}
  152. #main id and dir of this jdk
  153. %global uniquesuffix() %{expand:%{fullversion}.%{_arch}%1}
  154. # Standard JPackage directories and symbolic links.
  155. %global sdkdir() %{expand:%{uniquesuffix %%1}}
  156. %global jrelnk() %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%1}
  157. %global jredir() %{expand:%{sdkdir %%1}/jre}
  158. %global sdkbindir() %{expand:%{_jvmdir}/%{sdkdir %%1}/bin}
  159. %global jrebindir() %{expand:%{_jvmdir}/%{jredir %%1}/bin}
  160. %global jvmjardir() %{expand:%{_jvmjardir}/%{uniquesuffix %%1}}
  161. %global rpm_state_dir %{_localstatedir}/lib/rpm-state/
  162. %if %{with_systemtap}
  163. # Where to install systemtap tapset (links)
  164. # We would like these to be in a package specific subdir,
  165. # but currently systemtap doesn't support that, so we have to
  166. # use the root tapset dir for now. To distinquish between 64
  167. # and 32 bit architectures we place the tapsets under the arch
  168. # specific dir (note that systemtap will only pickup the tapset
  169. # for the primary arch for now). Systemtap uses the machine name
  170. # aka build_cpu as architecture specific directory name.
  171. %global tapsetroot /usr/share/systemtap
  172. %global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
  173. %endif
  174. # not-duplicated scriplets for normal/debug packages
  175. %global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
  176. %global post_script() %{expand:
  177. update-desktop-database %{_datadir}/applications &> /dev/null || :
  178. /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
  179. exit 0
  180. }
  181. %global post_headless() %{expand:
  182. # FIXME: identical binaries are copied, not linked. This needs to be
  183. # fixed upstream.
  184. # The pretrans lua scriptlet prevents an unmodified java.security
  185. # from being replaced via an update. It gets created as
  186. # java.security.rpmnew instead. This invalidates the patch of
  187. # JDK-8061210 of the January 2015 CPU, JDK-8043201 of the
  188. # July 2015 CPU and JDK-8141287 of the January 2016 CPU. We
  189. # fix this via a post scriptlet which runs on updates.
  190. if [ "$1" -gt 1 ]; then
  191. javasecurity="%{_jvmdir}/%{uniquesuffix}/jre/lib/security/java.security"
  192. sum=$(md5sum "${javasecurity}" | cut -d' ' -f1)
  193. # This is the md5sum of an unmodified java.security file
  194. if [ "${sum}" = '1690ac33955594f71dc952c9e83fd396' -o \\
  195. "${sum}" = 'b138695d0c0ea947e64a21a627d973ba' -o \\
  196. "${sum}" = 'd17958676bdb9f9d941c8a59655311fb' -o \\
  197. "${sum}" = '5463aef7dbf0bbcfe79e0336a7f92701' -o \\
  198. "${sum}" = '400cc64d4dd31f36dc0cc2c701d603db' -o \\
  199. "${sum}" = '321342219bb130d238ff144b9e5dbfc1' -o \\
  200. "${sum}" = '134a37a84983b620f4d8d51a550c0c38' ]; then
  201. if [ -f "${javasecurity}.rpmnew" ]; then
  202. mv -f "${javasecurity}.rpmnew" "${javasecurity}"
  203. fi
  204. fi
  205. fi
  206. %ifarch %{jit_arches}
  207. # MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
  208. %ifnarch %{power64}
  209. #see https://bugzilla.redhat.com/show_bug.cgi?id=513605
  210. %{jrebindir %%1}/java -Xshare:dump >/dev/null 2>/dev/null
  211. %endif
  212. %endif
  213. PRIORITY=%{priority}
  214. if [ "%1" == %{debug_suffix} ]; then
  215. let PRIORITY=PRIORITY-1
  216. fi
  217. ext=.gz
  218. alternatives \\
  219. --install %{_bindir}/java java %{jrebindir %%1}/java $PRIORITY \\
  220. --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir %%1} \\
  221. --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk %%1} \\
  222. --slave %{_bindir}/jjs jjs %{jrebindir %%1}/jjs \\
  223. --slave %{_bindir}/keytool keytool %{jrebindir %%1}/keytool \\
  224. --slave %{_bindir}/orbd orbd %{jrebindir %%1}/orbd \\
  225. --slave %{_bindir}/pack200 pack200 %{jrebindir %%1}/pack200 \\
  226. --slave %{_bindir}/rmid rmid %{jrebindir %%1}/rmid \\
  227. --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir %%1}/rmiregistry \\
  228. --slave %{_bindir}/servertool servertool %{jrebindir %%1}/servertool \\
  229. --slave %{_bindir}/tnameserv tnameserv %{jrebindir %%1}/tnameserv \\
  230. --slave %{_bindir}/policytool policytool %{jrebindir %%1}/policytool \\
  231. --slave %{_bindir}/unpack200 unpack200 %{jrebindir %%1}/unpack200 \\
  232. --slave %{_mandir}/man1/java.1$ext java.1$ext \\
  233. %{_mandir}/man1/java-%{uniquesuffix %%1}.1$ext \\
  234. --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
  235. %{_mandir}/man1/jjs-%{uniquesuffix %%1}.1$ext \\
  236. --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
  237. %{_mandir}/man1/keytool-%{uniquesuffix %%1}.1$ext \\
  238. --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \\
  239. %{_mandir}/man1/orbd-%{uniquesuffix %%1}.1$ext \\
  240. --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
  241. %{_mandir}/man1/pack200-%{uniquesuffix %%1}.1$ext \\
  242. --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
  243. %{_mandir}/man1/rmid-%{uniquesuffix %%1}.1$ext \\
  244. --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
  245. %{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1$ext \\
  246. --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \\
  247. %{_mandir}/man1/servertool-%{uniquesuffix %%1}.1$ext \\
  248. --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \\
  249. %{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1$ext \\
  250. --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \\
  251. %{_mandir}/man1/policytool-%{uniquesuffix %%1}.1$ext \\
  252. --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
  253. %{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1$ext
  254. for X in %{origin} %{javaver} ; do
  255. alternatives \\
  256. --install %{_jvmdir}/jre-"$X" \\
  257. jre_"$X" %{_jvmdir}/%{jredir %%1} $PRIORITY \\
  258. --slave %{_jvmjardir}/jre-"$X" \\
  259. jre_"$X"_exports %{_jvmdir}/%{jredir %%1}
  260. done
  261. update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1} $PRIORITY \\
  262. --slave %{_jvmjardir}/jre-%{javaver} jre_%{javaver}_%{origin}_exports %{jvmjardir %%1}
  263. update-desktop-database %{_datadir}/applications &> /dev/null || :
  264. /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
  265. exit 0
  266. }
  267. %global postun_script() %{expand:
  268. update-desktop-database %{_datadir}/applications &> /dev/null || :
  269. if [ $1 -eq 0 ] ; then
  270. /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
  271. %{update_desktop_icons}
  272. fi
  273. exit 0
  274. }
  275. %global postun_headless() %{expand:
  276. alternatives --remove java %{jrebindir %%1}/java
  277. alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir %%1}
  278. alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir %%1}
  279. alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1}
  280. }
  281. %global posttrans_script() %{expand:
  282. %{update_desktop_icons}
  283. }
  284. %global post_devel() %{expand:
  285. PRIORITY=%{priority}
  286. if [ "%1" == %{debug_suffix} ]; then
  287. let PRIORITY=PRIORITY-1
  288. fi
  289. ext=.gz
  290. alternatives \\
  291. --install %{_bindir}/javac javac %{sdkbindir %%1}/javac $PRIORITY \\
  292. --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir %%1} \\
  293. --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir %%1} \\
  294. --slave %{_bindir}/appletviewer appletviewer %{sdkbindir %%1}/appletviewer \\
  295. --slave %{_bindir}/extcheck extcheck %{sdkbindir %%1}/extcheck \\
  296. --slave %{_bindir}/idlj idlj %{sdkbindir %%1}/idlj \\
  297. --slave %{_bindir}/jar jar %{sdkbindir %%1}/jar \\
  298. --slave %{_bindir}/jarsigner jarsigner %{sdkbindir %%1}/jarsigner \\
  299. --slave %{_bindir}/javadoc javadoc %{sdkbindir %%1}/javadoc \\
  300. --slave %{_bindir}/javah javah %{sdkbindir %%1}/javah \\
  301. --slave %{_bindir}/javap javap %{sdkbindir %%1}/javap \\
  302. --slave %{_bindir}/jcmd jcmd %{sdkbindir %%1}/jcmd \\
  303. --slave %{_bindir}/jconsole jconsole %{sdkbindir %%1}/jconsole \\
  304. --slave %{_bindir}/jdb jdb %{sdkbindir %%1}/jdb \\
  305. --slave %{_bindir}/jdeps jdeps %{sdkbindir %%1}/jdeps \\
  306. --slave %{_bindir}/jhat jhat %{sdkbindir %%1}/jhat \\
  307. --slave %{_bindir}/jinfo jinfo %{sdkbindir %%1}/jinfo \\
  308. --slave %{_bindir}/jmap jmap %{sdkbindir %%1}/jmap \\
  309. --slave %{_bindir}/jps jps %{sdkbindir %%1}/jps \\
  310. --slave %{_bindir}/jrunscript jrunscript %{sdkbindir %%1}/jrunscript \\
  311. --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir %%1}/jsadebugd \\
  312. --slave %{_bindir}/jstack jstack %{sdkbindir %%1}/jstack \\
  313. --slave %{_bindir}/jstat jstat %{sdkbindir %%1}/jstat \\
  314. --slave %{_bindir}/jstatd jstatd %{sdkbindir %%1}/jstatd \\
  315. --slave %{_bindir}/native2ascii native2ascii %{sdkbindir %%1}/native2ascii \\
  316. --slave %{_bindir}/rmic rmic %{sdkbindir %%1}/rmic \\
  317. --slave %{_bindir}/schemagen schemagen %{sdkbindir %%1}/schemagen \\
  318. --slave %{_bindir}/serialver serialver %{sdkbindir %%1}/serialver \\
  319. --slave %{_bindir}/wsgen wsgen %{sdkbindir %%1}/wsgen \\
  320. --slave %{_bindir}/wsimport wsimport %{sdkbindir %%1}/wsimport \\
  321. --slave %{_bindir}/xjc xjc %{sdkbindir %%1}/xjc \\
  322. --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \\
  323. %{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1$ext \\
  324. --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \\
  325. %{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1$ext \\
  326. --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \\
  327. %{_mandir}/man1/idlj-%{uniquesuffix %%1}.1$ext \\
  328. --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
  329. %{_mandir}/man1/jar-%{uniquesuffix %%1}.1$ext \\
  330. --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
  331. %{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1$ext \\
  332. --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
  333. %{_mandir}/man1/javac-%{uniquesuffix %%1}.1$ext \\
  334. --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
  335. %{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1$ext \\
  336. --slave %{_mandir}/man1/javah.1$ext javah.1$ext \\
  337. %{_mandir}/man1/javah-%{uniquesuffix %%1}.1$ext \\
  338. --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
  339. %{_mandir}/man1/javap-%{uniquesuffix %%1}.1$ext \\
  340. --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
  341. %{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1$ext \\
  342. --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
  343. %{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1$ext \\
  344. --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
  345. %{_mandir}/man1/jdb-%{uniquesuffix %%1}.1$ext \\
  346. --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
  347. %{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1$ext \\
  348. --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \\
  349. %{_mandir}/man1/jhat-%{uniquesuffix %%1}.1$ext \\
  350. --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
  351. %{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1$ext \\
  352. --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
  353. %{_mandir}/man1/jmap-%{uniquesuffix %%1}.1$ext \\
  354. --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
  355. %{_mandir}/man1/jps-%{uniquesuffix %%1}.1$ext \\
  356. --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
  357. %{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1$ext \\
  358. --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \\
  359. %{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1$ext \\
  360. --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
  361. %{_mandir}/man1/jstack-%{uniquesuffix %%1}.1$ext \\
  362. --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
  363. %{_mandir}/man1/jstat-%{uniquesuffix %%1}.1$ext \\
  364. --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
  365. %{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1$ext \\
  366. --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \\
  367. %{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1$ext \\
  368. --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
  369. %{_mandir}/man1/rmic-%{uniquesuffix %%1}.1$ext \\
  370. --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \\
  371. %{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1$ext \\
  372. --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
  373. %{_mandir}/man1/serialver-%{uniquesuffix %%1}.1$ext \\
  374. --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \\
  375. %{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1$ext \\
  376. --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \\
  377. %{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1$ext \\
  378. --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \\
  379. %{_mandir}/man1/xjc-%{uniquesuffix %%1}.1$ext
  380. for X in %{origin} %{javaver} ; do
  381. alternatives \\
  382. --install %{_jvmdir}/java-"$X" \\
  383. java_sdk_"$X" %{_jvmdir}/%{sdkdir %%1} $PRIORITY \\
  384. --slave %{_jvmjardir}/java-"$X" \\
  385. java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir %%1}
  386. done
  387. update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1} $PRIORITY \\
  388. --slave %{_jvmjardir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin}_exports %{_jvmjardir}/%{sdkdir %%1}
  389. update-desktop-database %{_datadir}/applications &> /dev/null || :
  390. /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
  391. exit 0
  392. }
  393. %global postun_devel() %{expand:
  394. alternatives --remove javac %{sdkbindir %%1}/javac
  395. alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir %%1}
  396. alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir %%1}
  397. alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1}
  398. update-desktop-database %{_datadir}/applications &> /dev/null || :
  399. if [ $1 -eq 0 ] ; then
  400. /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
  401. %{update_desktop_icons}
  402. fi
  403. exit 0
  404. }
  405. %global posttrans_devel() %{expand:
  406. %{update_desktop_icons}
  407. }
  408. %global post_javadoc() %{expand:
  409. PRIORITY=%{priority}
  410. if [ "%1" == %{debug_suffix} ]; then
  411. let PRIORITY=PRIORITY-1
  412. fi
  413. alternatives \\
  414. --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api \\
  415. $PRIORITY
  416. exit 0
  417. }
  418. %global postun_javadoc() %{expand:
  419. alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api
  420. exit 0
  421. }
  422. %global post_javadoc_zip() %{expand:
  423. PRIORITY=%{priority}
  424. if [ "%1" == %{debug_suffix} ]; then
  425. let PRIORITY=PRIORITY-1
  426. fi
  427. alternatives \\
  428. --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir %%1}.zip \\
  429. $PRIORITY
  430. exit 0
  431. }
  432. %global postun_javadoc_zip() %{expand:
  433. alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir %%1}.zip
  434. exit 0
  435. }
  436. %global files_jre() %{expand:
  437. %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
  438. %{_datadir}/applications/*policytool%1.desktop
  439. }
  440. %global files_jre_headless() %{expand:
  441. %defattr(-,root,root,-)
  442. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/ASSEMBLY_EXCEPTION
  443. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
  444. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/THIRD_PARTY_README
  445. %dir %{_jvmdir}/%{sdkdir %%1}
  446. %{_jvmdir}/%{jrelnk %%1}
  447. %{_jvmjardir}/%{jrelnk %%1}
  448. %{_jvmprivdir}/*
  449. %{jvmjardir %%1}
  450. %dir %{_jvmdir}/%{jredir %%1}/lib/security
  451. %{_jvmdir}/%{jredir %%1}/lib/security/cacerts
  452. %config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/US_export_policy.jar
  453. %config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/local_policy.jar
  454. %config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.policy
  455. %config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.security
  456. %config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/blacklisted.certs
  457. %config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/logging.properties
  458. %{_mandir}/man1/java-%{uniquesuffix %%1}.1*
  459. %{_mandir}/man1/jjs-%{uniquesuffix %%1}.1*
  460. %{_mandir}/man1/keytool-%{uniquesuffix %%1}.1*
  461. %{_mandir}/man1/orbd-%{uniquesuffix %%1}.1*
  462. %{_mandir}/man1/pack200-%{uniquesuffix %%1}.1*
  463. %{_mandir}/man1/rmid-%{uniquesuffix %%1}.1*
  464. %{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1*
  465. %{_mandir}/man1/servertool-%{uniquesuffix %%1}.1*
  466. %{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1*
  467. %{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1*
  468. %{_mandir}/man1/policytool-%{uniquesuffix %%1}.1*
  469. %if %{with system_nss}
  470. %config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/nss.cfg
  471. %endif
  472. %ifarch %{jit_arches}
  473. %ifnarch %{power64}
  474. %attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/classes.jsa
  475. %attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/classes.jsa
  476. %endif
  477. %endif
  478. %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/
  479. %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/
  480. }
  481. %global files_devel() %{expand:
  482. %defattr(-,root,root,-)
  483. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/ASSEMBLY_EXCEPTION
  484. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/LICENSE
  485. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/THIRD_PARTY_README
  486. %dir %{_jvmdir}/%{sdkdir %%1}/bin
  487. %dir %{_jvmdir}/%{sdkdir %%1}/include
  488. %dir %{_jvmdir}/%{sdkdir %%1}/lib
  489. %{_jvmdir}/%{sdkdir %%1}/bin/*
  490. %{_jvmdir}/%{sdkdir %%1}/include/*
  491. %{_jvmdir}/%{sdkdir %%1}/lib/*
  492. %{_jvmjardir}/%{sdkdir %%1}
  493. %{_datadir}/applications/*jconsole%1.desktop
  494. %{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1*
  495. %{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1*
  496. %{_mandir}/man1/idlj-%{uniquesuffix %%1}.1*
  497. %{_mandir}/man1/jar-%{uniquesuffix %%1}.1*
  498. %{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1*
  499. %{_mandir}/man1/javac-%{uniquesuffix %%1}.1*
  500. %{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1*
  501. %{_mandir}/man1/javah-%{uniquesuffix %%1}.1*
  502. %{_mandir}/man1/javap-%{uniquesuffix %%1}.1*
  503. %{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1*
  504. %{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1*
  505. %{_mandir}/man1/jdb-%{uniquesuffix %%1}.1*
  506. %{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1*
  507. %{_mandir}/man1/jhat-%{uniquesuffix %%1}.1*
  508. %{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1*
  509. %{_mandir}/man1/jmap-%{uniquesuffix %%1}.1*
  510. %{_mandir}/man1/jps-%{uniquesuffix %%1}.1*
  511. %{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1*
  512. %{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1*
  513. %{_mandir}/man1/jstack-%{uniquesuffix %%1}.1*
  514. %{_mandir}/man1/jstat-%{uniquesuffix %%1}.1*
  515. %{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1*
  516. %{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1*
  517. %{_mandir}/man1/rmic-%{uniquesuffix %%1}.1*
  518. %{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1*
  519. %{_mandir}/man1/serialver-%{uniquesuffix %%1}.1*
  520. %{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1*
  521. %{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1*
  522. %{_mandir}/man1/xjc-%{uniquesuffix %%1}.1*
  523. %if %{with_systemtap}
  524. %dir %{tapsetroot}
  525. %dir %{tapsetdir}
  526. %{tapsetdir}/*%{version}-%{release}.%{_arch}%1.stp
  527. %dir %{_jvmdir}/%{sdkdir %%1}/tapset
  528. %{_jvmdir}/%{sdkdir %%1}/tapset/*.stp
  529. %endif
  530. }
  531. %global files_demo() %{expand:
  532. %defattr(-,root,root,-)
  533. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
  534. }
  535. %global files_src() %{expand:
  536. %defattr(-,root,root,-)
  537. %doc README.src
  538. %{_jvmdir}/%{sdkdir %%1}/src.zip
  539. }
  540. %global files_javadoc() %{expand:
  541. %defattr(-,root,root,-)
  542. %doc %{_javadocdir}/%{uniquejavadocdir %%1}
  543. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
  544. }
  545. %global files_javadoc_zip() %{expand:
  546. %defattr(-,root,root,-)
  547. %doc %{_javadocdir}/%{uniquejavadocdir %%1}.zip
  548. %doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
  549. }
  550. %global files_accessibility() %{expand:
  551. %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/libatk-wrapper.so
  552. %{_jvmdir}/%{jredir %%1}/lib/ext/java-atk-wrapper.jar
  553. %{_jvmdir}/%{jredir %%1}/lib/accessibility.properties
  554. }
  555. # not-duplicated requires/provides/obsolate for normal/debug packages
  556. %global java_rpo() %{expand:
  557. Requires: fontconfig
  558. Requires: xorg-x11-fonts-Type1
  559. # Requires rest of java
  560. Requires: %{name}-headless%1 = %{version}-%{release}
  561. OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
  562. # Standard JPackage base provides.
  563. Provides: jre-%{javaver}-%{origin}%1 = %{version}-%{release}
  564. Provides: jre-%{origin}%1 = %{version}-%{release}
  565. Provides: jre-%{javaver}%1 = %{version}-%{release}
  566. Provides: java-%{javaver}%1 = %{version}-%{release}
  567. Provides: jre = %{javaver}%1
  568. Provides: java-%{origin}%1 = %{version}-%{release}
  569. Provides: java%1 = %{javaver}
  570. # Standard JPackage extensions provides.
  571. Provides: java-fonts%1 = %{version}
  572. Obsoletes: java-1.7.0-openjdk%1
  573. Obsoletes: java-1.5.0-gcj%1
  574. Obsoletes: sinjdoc
  575. }
  576. %global java_headless_rpo() %{expand:
  577. # Require /etc/pki/java/cacerts.
  578. Requires: ca-certificates
  579. # Require javapackages-tools for ownership of /usr/lib/jvm/
  580. Requires: javapackages-tools
  581. # Require zoneinfo data provided by tzdata-java subpackage.
  582. Requires: tzdata-java >= 2016e
  583. # libsctp.so.1 is being `dlopen`ed on demand
  584. Requires: lksctp-tools
  585. # there is need to depnd on exact version of nss
  586. %if %{with system_nss}
  587. Requires: nss
  588. %endif
  589. # 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
  590. Requires: copy-jdk-configs >= 1.1-3
  591. OrderWithRequires: copy-jdk-configs
  592. # Post requires alternatives to install tool alternatives.
  593. Requires(post): alternatives
  594. # Postun requires alternatives to uninstall tool alternatives.
  595. Requires(postun): alternatives
  596. # Standard JPackage base provides.
  597. Provides: jre-%{javaver}-%{origin}-headless%1 = %{version}-%{release}
  598. Provides: jre-%{origin}-headless%1 = %{version}-%{release}
  599. Provides: jre-%{javaver}-headless%1 = %{version}-%{release}
  600. Provides: java-%{javaver}-headless%1 = %{version}-%{release}
  601. Provides: jre-headless%1 = %{javaver}
  602. Provides: java-%{origin}-headless%1 = %{version}-%{release}
  603. Provides: java-headless%1 = %{javaver}
  604. # Standard JPackage extensions provides.
  605. Provides: jndi%1 = %{version}
  606. Provides: jndi-ldap%1 = %{version}
  607. Provides: jndi-cos%1 = %{version}
  608. Provides: jndi-rmi%1 = %{version}
  609. Provides: jndi-dns%1 = %{version}
  610. Provides: jaas%1 = %{version}
  611. Provides: jsse%1 = %{version}
  612. Provides: jce%1 = %{version}
  613. Provides: jdbc-stdext%1 = 4.1
  614. Provides: java-sasl%1 = %{version}
  615. Obsoletes: java-1.7.0-openjdk-headless%1
  616. }
  617. %global java_devel_rpo() %{expand:
  618. # Require base package.
  619. Requires: %{name}%1 = %{version}-%{release}
  620. OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
  621. # Post requires alternatives to install tool alternatives.
  622. Requires(post): alternatives
  623. # Postun requires alternatives to uninstall tool alternatives.
  624. Requires(postun): alternatives
  625. # Standard JPackage devel provides.
  626. Provides: java-sdk-%{javaver}-%{origin}%1 = %{version}
  627. Provides: java-sdk-%{javaver}%1 = %{version}
  628. Provides: java-sdk-%{origin}%1 = %{version}
  629. Provides: java-sdk%1 = %{javaver}
  630. Provides: java-%{javaver}-devel%1 = %{version}
  631. Provides: java-devel-%{origin}%1 = %{version}
  632. Provides: java-devel%1 = %{javaver}
  633. Obsoletes: java-1.7.0-openjdk-devel%1
  634. Obsoletes: java-1.5.0-gcj-devel%1
  635. }
  636. %global java_demo_rpo() %{expand:
  637. Requires: %{name}%1 = %{version}-%{release}
  638. OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
  639. Obsoletes: java-1.7.0-openjdk-demo%1
  640. }
  641. %global java_javadoc_rpo() %{expand:
  642. OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
  643. # Post requires alternatives to install javadoc alternative.
  644. Requires(post): alternatives
  645. # Postun requires alternatives to uninstall javadoc alternative.
  646. Requires(postun): alternatives
  647. # Standard JPackage javadoc provides.
  648. Provides: java-javadoc%1 = %{version}-%{release}
  649. Provides: java-%{javaver}-javadoc%1 = %{version}-%{release}
  650. Obsoletes: java-1.7.0-openjdk-javadoc%1
  651. }
  652. %global java_src_rpo() %{expand:
  653. Requires: %{name}-headless%1 = %{version}-%{release}
  654. Obsoletes: java-1.7.0-openjdk-src%1
  655. }
  656. %global java_accessibility_rpo() %{expand:
  657. Requires: java-atk-wrapper
  658. Requires: %{name}%1 = %{version}-%{release}
  659. OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
  660. Obsoletes: java-1.7.0-openjdk-accessibility%1
  661. }
  662. # Prevent brp-java-repack-jars from being run.
  663. %global __jar_repack 0
  664. Name: java-%{javaver}-%{origin}
  665. Version: %{javaver}.%{updatever}
  666. Release: 1.%{buildver}%{?_dist_release}
  667. Summary: OpenJDK Runtime Environment
  668. Summary(ja): OpenJDK ランタイム環境
  669. Group: Development/Languages
  670. 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
  671. URL: http://openjdk.java.net/
  672. Vendor: Project Vine
  673. Distribution: Vine Linux
  674. # aarch64-port now contains integration forest of both aarch64 and normal jdk
  675. # Source from upstream OpenJDK8 project. To regenerate, use
  676. # VERSION=aarch64-jdk8u92-b14 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION}
  677. # REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh
  678. # where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}
  679. Source0: %{project}-%{repo}-%{revision}.tar.xz
  680. # Custom README for -src subpackage
  681. Source2: README.src
  682. # Use 'generate_tarballs.sh' to generate the following tarballs
  683. # They are based on code contained in the IcedTea7 project.
  684. # Systemtap tapsets. Zipped up to keep it small.
  685. Source8: systemtap-tapset.tar.gz
  686. # Desktop files. Adapated from IcedTea.
  687. Source9: jconsole.desktop.in
  688. Source10: policytool.desktop.in
  689. # nss configuration file
  690. Source11: nss.cfg
  691. # Removed libraries that we link instead
  692. Source12: %{name}-remove-intree-libraries.sh
  693. # Ensure we aren't using the limited crypto policy
  694. Source13: TestCryptoLevel.java
  695. # Ensure ECDSA is working
  696. Source14: TestECDSA.java
  697. Source20: repackReproduciblePolycies.sh
  698. # New versions of config files with aarch64 support. This is not upstream yet.
  699. Source100: config.guess
  700. Source101: config.sub
  701. # shenandoah hotpost
  702. Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
  703. # RPM/distribution specific patches
  704. # Accessibility patches
  705. # Ignore AWTError when assistive technologies are loaded
  706. Patch1: %{name}-accessible-toolkit.patch
  707. # Restrict access to java-atk-wrapper classes
  708. Patch3: java-atk-wrapper-security.patch
  709. # Upstreamable patches
  710. # PR2737: Allow multiple initialization of PKCS11 libraries
  711. Patch5: multiple-pkcs11-library-init.patch
  712. # PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
  713. Patch504: rh1163501.patch
  714. # S4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option
  715. Patch511: rh1214835.patch
  716. # Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions
  717. Patch512: no_strict_overflow.patch
  718. # Support for building the SunEC provider with the system NSS installation
  719. # PR1983: Support using the system installation of NSS with the SunEC provider
  720. # PR2127: SunEC provider crashes when built using system NSS
  721. # PR2815: Race condition in SunEC provider with system NSS
  722. # PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed
  723. # PR2934: SunEC provider throwing KeyException with current NSS
  724. Patch513: pr1983-jdk.patch
  725. Patch514: pr1983-root.patch
  726. Patch515: pr2127.patch
  727. Patch516: pr2815.patch
  728. Patch517: pr2899.patch
  729. Patch518: pr2934.patch
  730. # S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
  731. # In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
  732. Patch508: rh1176206-jdk.patch
  733. Patch509: rh1176206-root.patch
  734. # RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
  735. Patch523: pr2974-rh1337583.patch
  736. # Arch-specific upstreamable patches
  737. # PR2415: JVM -Xmx requirement is too high on s390
  738. Patch100: %{name}-s390-java-opts.patch
  739. # Type fixing for s390
  740. Patch102: %{name}-size_t.patch
  741. # Use "%z" for size_t on s390 as size_t != intptr_t
  742. Patch103: s390-size_t_format_flags.patch
  743. # PR2991, RH1341258: JVM on PPC64 LE crashes due to an illegal instruction in JITed code
  744. Patch524: pr2991-rh1341258.patch
  745. # Patches which need backporting to 8u
  746. # S8073139, RH1191652; fix name of ppc64le architecture
  747. Patch601: %{name}-rh1191652-root.patch
  748. Patch602: %{name}-rh1191652-jdk.patch
  749. Patch603: %{name}-rh1191652-hotspot-aarch64.patch
  750. # Include all sources in src.zip
  751. Patch7: include-all-srcs.patch
  752. # 8035341: Allow using a system installed libpng
  753. Patch202: system-libpng.patch
  754. # 8042159: Allow using a system-installed lcms2
  755. Patch203: system-lcms.patch
  756. # PR2462: Backport "8074839: Resolve disabled warnings for libunpack and the unpack200 binary"
  757. # This fixes printf warnings that lead to build failure with -Werror=format-security from optflags
  758. Patch502: pr2462.patch
  759. # S8140620, PR2769: Find and load default.sf2 as the default soundbank on Linux
  760. # waiting on upstream: http://mail.openjdk.java.net/pipermail/jdk8u-dev/2016-January/004916.html
  761. Patch605: soundFontPatch.patch
  762. # S8148351, PR2842: Only display resolved symlink for compiler, do not change path
  763. Patch506: pr2842-01.patch
  764. Patch507: pr2842-02.patch
  765. # Patches upstream and appearing in 8u102
  766. # S8148752, PR2943, RH1330188: Compiled StringBuilder code throws StringIndexOutOfBoundsException
  767. Patch519: 8148752-pr2943-rh1330188.patch
  768. # S6961123, PR2972, RH1339740: Java application name in GNOME Shell contains funny characters
  769. Patch520: 6961123-pr2972-rh1339740.patch
  770. # Patches upstream and appearing in 8u112
  771. # S8044762, PR2960: com/sun/jdi/OptionTest.java test time out
  772. Patch521: 8044762-pr2960.patch
  773. # S8049226, PR2960: com/sun/jdi/OptionTest.java test times out again
  774. Patch522: 8049226-pr2960.patch
  775. # 8154210: Zero: Better byte behaviour
  776. Patch606: 8154210.patch
  777. # Patches ineligible for 8u
  778. # 8043805: Allow using a system-installed libjpeg
  779. Patch201: system-libjpeg.patch
  780. # Local fixes
  781. # see http://mail.openjdk.java.net/pipermail/build-dev/2016-March/016852.html thread
  782. Patch400: jdk8-archivedJavadoc.patch
  783. # PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
  784. Patch525: pr1834-rh1022017.patch
  785. # Non-OpenJDK fixes
  786. Patch300: jstack-pr1845.patch
  787. BuildRequires: autoconf
  788. BuildRequires: automake
  789. BuildRequires: alsa-lib-devel
  790. BuildRequires: binutils
  791. BuildRequires: cups-devel
  792. BuildRequires: desktop-file-utils
  793. BuildRequires: fontconfig
  794. BuildRequires: freetype2-devel
  795. BuildRequires: giflib-devel
  796. BuildRequires: gcc-c++
  797. BuildRequires: gtk2-devel
  798. BuildRequires: lcms2-devel
  799. BuildRequires: libjpeg-devel
  800. BuildRequires: libpng-devel
  801. BuildRequires: libxslt
  802. BuildRequires: libX11-devel
  803. BuildRequires: libXi-devel
  804. BuildRequires: libXinerama-devel
  805. BuildRequires: libXt-devel
  806. BuildRequires: libXtst-devel
  807. %if %{with system_nss}
  808. # Requirements for setting up the nss.cfg
  809. BuildRequires: nss-devel
  810. %endif
  811. BuildRequires: pkgconfig
  812. BuildRequires: xorg-x11-proto-devel
  813. BuildRequires: zip
  814. %if %{with initial_build}
  815. BuildRequires: java-1.7.0-openjdk-devel
  816. %else
  817. BuildRequires: java-1.8.0-openjdk-devel
  818. %endif
  819. # Zero-assembler build requirement.
  820. %ifnarch %{jit_arches}
  821. BuildRequires: libffi-devel
  822. %endif
  823. BuildRequires: tzdata-java >= 2016e
  824. # Earlier versions have a bug in tree vectorization on PPC
  825. BuildRequires: gcc >= 4.8.3-8
  826. # cacerts build requirement.
  827. BuildRequires: openssl
  828. %if %{with_systemtap}
  829. BuildRequires: systemtap-sdt-devel
  830. %endif
  831. # this is built always, also during debug-only build
  832. # when it is built in debug-only, then this package is just placeholder
  833. %{java_rpo %{nil}}
  834. %description
  835. The OpenJDK runtime environment.
  836. %if %{include_debug_build}
  837. %package debug
  838. Summary: OpenJDK Runtime Environment %{debug_on}
  839. Group: Development/Languages
  840. %{java_rpo %{debug_suffix_unquoted}}
  841. %description debug
  842. The OpenJDK runtime environment.
  843. %{debug_warning}
  844. %endif
  845. %if %{include_normal_build}
  846. %package headless
  847. Summary: OpenJDK Runtime Environment
  848. Group: Development/Languages
  849. %{java_headless_rpo %{nil}}
  850. %description headless
  851. The OpenJDK runtime environment without audio and video support.
  852. %endif
  853. %if %{include_debug_build}
  854. %package headless-debug
  855. Summary: OpenJDK Runtime Environment %{debug_on}
  856. Group: Development/Languages
  857. %{java_headless_rpo %{debug_suffix_unquoted}}
  858. %description headless-debug
  859. The OpenJDK runtime environment without audio and video support.
  860. %{debug_warning}
  861. %endif
  862. %if %{include_normal_build}
  863. %package devel
  864. Summary: OpenJDK Development Environment
  865. Group: Development/Tools
  866. %{java_devel_rpo %{nil}}
  867. %description devel
  868. The OpenJDK development tools.
  869. %endif
  870. %if %{include_debug_build}
  871. %package devel-debug
  872. Summary: OpenJDK Development Environment %{debug_on}
  873. Group: Development/Tools
  874. %{java_devel_rpo %{debug_suffix_unquoted}}
  875. %description devel-debug
  876. The OpenJDK development tools.
  877. %{debug_warning}
  878. %endif
  879. %if %{include_normal_build}
  880. %package demo
  881. Summary: OpenJDK Demos
  882. Group: Development/Languages
  883. %{java_demo_rpo %{nil}}
  884. %description demo
  885. The OpenJDK demos.
  886. %endif
  887. %if %{include_debug_build}
  888. %package demo-debug
  889. Summary: OpenJDK Demos %{debug_on}
  890. Group: Development/Languages
  891. %{java_demo_rpo %{debug_suffix_unquoted}}
  892. %description demo-debug
  893. The OpenJDK demos.
  894. %{debug_warning}
  895. %endif
  896. %if %{include_normal_build}
  897. %package src
  898. Summary: OpenJDK Source Bundle
  899. Group: Development/Languages
  900. %{java_src_rpo %{nil}}
  901. %description src
  902. The OpenJDK source bundle.
  903. %endif
  904. %if %{include_debug_build}
  905. %package src-debug
  906. Summary: OpenJDK Source Bundle %{for_debug}
  907. Group: Development/Languages
  908. %{java_src_rpo %{debug_suffix_unquoted}}
  909. %description src-debug
  910. The OpenJDK source bundle %{for_debug}.
  911. %endif
  912. %if %{include_normal_build}
  913. %package javadoc
  914. Summary: OpenJDK API Documentation
  915. Group: Documentation
  916. Requires: javapackages-tools
  917. BuildArch: noarch
  918. %{java_javadoc_rpo %{nil}}
  919. %description javadoc
  920. The OpenJDK API documentation.
  921. %endif
  922. %if %{include_normal_build}
  923. %package javadoc-zip
  924. Summary: OpenJDK API Documentation compressed in single archive
  925. Group: Documentation
  926. Requires: javapackages-tools
  927. BuildArch: noarch
  928. %{java_javadoc_rpo %{nil}}
  929. %description javadoc-zip
  930. The OpenJDK API documentation compressed in single archive.
  931. %endif
  932. %if %{include_debug_build}
  933. %package javadoc-debug
  934. Summary: OpenJDK API Documentation %{for_debug}
  935. Group: Documentation
  936. Requires: javapackages-tools
  937. BuildArch: noarch
  938. %{java_javadoc_rpo %{debug_suffix_unquoted}}
  939. %description javadoc-debug
  940. The OpenJDK API documentation %{for_debug}.
  941. %endif
  942. %if %{include_debug_build}
  943. %package javadoc-zip-debug
  944. Summary: OpenJDK API Documentation compressed in single archive %{for_debug}
  945. Group: Documentation
  946. Requires: javapackages-tools
  947. BuildArch: noarch
  948. %{java_javadoc_rpo %{debug_suffix_unquoted}}
  949. %description javadoc-zip-debug
  950. The OpenJDK API documentation compressed in single archive %{for_debug}.
  951. %endif
  952. %if %{include_normal_build}
  953. %package accessibility
  954. Summary: OpenJDK accessibility connector
  955. %{java_accessibility_rpo %{nil}}
  956. %description accessibility
  957. Enables accessibility support in OpenJDK by using java-atk-wrapper. This allows
  958. compatible at-spi2 based accessibility programs to work for AWT and Swing-based
  959. programs.
  960. Please note, the java-atk-wrapper is still in beta, and OpenJDK itself is still
  961. being tuned to be working with accessibility features. There are known issues
  962. with accessibility on, so please do not install this package unless you really
  963. need to.
  964. %endif
  965. %if %{include_debug_build}
  966. %package accessibility-debug
  967. Summary: OpenJDK accessibility connector %{for_debug}
  968. %{java_accessibility_rpo %{debug_suffix_unquoted}}
  969. %description accessibility-debug
  970. See normal java-%{version}-openjdk-accessibility description.
  971. %endif
  972. %prep
  973. if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
  974. echo "include_normal_build is %{include_normal_build}"
  975. else
  976. echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
  977. exit 11
  978. fi
  979. if [ %{include_debug_build} -eq 0 -o %{include_debug_build} -eq 1 ] ; then
  980. echo "include_debug_build is %{include_debug_build}"
  981. else
  982. echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
  983. exit 12
  984. fi
  985. if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 ] ; then
  986. echo "you have disabled both include_debug_build and include_debug_build. no go."
  987. exit 13
  988. fi
  989. %setup -q -c -n %{uniquesuffix ""} -T -a 0
  990. # https://bugzilla.redhat.com/show_bug.cgi?id=1189084
  991. prioritylength=`expr length %{priority}`
  992. if [ $prioritylength -ne 7 ] ; then
  993. echo "priority must be 7 digits in total, violated"
  994. exit 14
  995. fi
  996. # For old patches
  997. ln -s openjdk jdk8
  998. %if %{use_shenandoah_hotspot}
  999. #on intels, repalce hotpost by shenandoah-able hotspot
  1000. pushd openjdk
  1001. tar -xf %{SOURCE999}
  1002. rm -rf hotspot
  1003. cp -r openjdk/hotspot .
  1004. rm -rf openjdk
  1005. popd
  1006. %endif
  1007. cp %{SOURCE2} .
  1008. # replace outdated configure guess script
  1009. #
  1010. # the configure macro will do this too, but it also passes a few flags not
  1011. # supported by openjdk configure script
  1012. cp %{SOURCE100} openjdk/common/autoconf/build-aux/
  1013. cp %{SOURCE101} openjdk/common/autoconf/build-aux/
  1014. # OpenJDK patches
  1015. # Remove libraries that are linked
  1016. sh %{SOURCE12}
  1017. %patch201
  1018. %patch202
  1019. %patch203
  1020. %patch1
  1021. %patch3
  1022. %patch5
  1023. %patch7
  1024. # s390 build fixes
  1025. %patch100
  1026. %patch102
  1027. %patch103
  1028. # ppc64le fixes
  1029. %patch524
  1030. # Zero fixes.
  1031. %patch606
  1032. %patch603
  1033. %patch601
  1034. %patch602
  1035. %patch605
  1036. %patch502
  1037. %patch504
  1038. %patch506
  1039. %patch507
  1040. %patch508
  1041. %patch509
  1042. %patch511
  1043. %patch512
  1044. %patch513
  1045. %patch514
  1046. %patch515
  1047. %patch516
  1048. %patch517
  1049. %patch518
  1050. %patch519
  1051. %patch400
  1052. %patch520
  1053. %patch521
  1054. %patch522
  1055. %patch523
  1056. %patch525
  1057. # Extract systemtap tapsets
  1058. %if %{with_systemtap}
  1059. tar xzf %{SOURCE8}
  1060. %patch300
  1061. %if %{include_debug_build}
  1062. cp -r tapset tapset%{debug_suffix}
  1063. %endif
  1064. for suffix in %{build_loop} ; do
  1065. for file in "tapset"$suffix/*.in; do
  1066. OUTPUT_FILE=`echo $file | sed -e s:%{javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g`
  1067. sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
  1068. # TODO find out which architectures other than i686 have a client vm
  1069. %ifarch %{ix86}
  1070. sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
  1071. %else
  1072. sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE
  1073. %endif
  1074. sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir $suffix}:g $OUTPUT_FILE
  1075. sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
  1076. done
  1077. done
  1078. # systemtap tapsets ends
  1079. %endif
  1080. # Prepare desktop files
  1081. for suffix in %{build_loop} ; do
  1082. for file in %{SOURCE9} %{SOURCE10} ; do
  1083. FILE=`basename $file | sed -e s:\.in$::g`
  1084. EXT="${FILE##*.}"
  1085. NAME="${FILE%.*}"
  1086. OUTPUT_FILE=$NAME$suffix.$EXT
  1087. sed -e s:#JAVA_HOME#:%{sdkbindir $suffix}:g $file > $OUTPUT_FILE
  1088. sed -i -e s:#JRE_HOME#:%{jrebindir $suffix}:g $OUTPUT_FILE
  1089. sed -i -e s:#ARCH#:%{version}-%{release}.%{_arch}$suffix:g $OUTPUT_FILE
  1090. done
  1091. done
  1092. %build
  1093. # How many cpu's do we have?
  1094. export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
  1095. export NUM_PROC=${NUM_PROC:-1}
  1096. %if 0%{?_smp_ncpus_max}
  1097. # Honor %%_smp_ncpus_max
  1098. [ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
  1099. %endif
  1100. # Build IcedTea and OpenJDK.
  1101. %ifarch s390x sparc64 alpha %{power64} %{aarch64}
  1102. export ARCH_DATA_MODEL=64
  1103. %endif
  1104. %ifarch alpha
  1105. export CFLAGS="$CFLAGS -mieee"
  1106. %endif
  1107. # We use ourcppflags because the OpenJDK build seems to
  1108. # pass EXTRA_CFLAGS to the HotSpot C++ compiler...
  1109. # Explicitly set the C++ standard as the default has changed on GCC >= 6
  1110. EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"
  1111. EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"
  1112. %ifarch %{power64} ppc
  1113. # fix rpmlint warnings
  1114. EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
  1115. %endif
  1116. export EXTRA_CFLAGS
  1117. (cd openjdk/common/autoconf
  1118. bash ./autogen.sh
  1119. )
  1120. for suffix in %{build_loop} ; do
  1121. if [ "$suffix" = "%{debug_suffix}" ] ; then
  1122. debugbuild=%{debugbuild_parameter}
  1123. else
  1124. debugbuild=%{normalbuild_parameter}
  1125. fi
  1126. mkdir -p %{buildoutputdir $suffix}
  1127. pushd %{buildoutputdir $suffix}
  1128. %if %{with system_nss}
  1129. NSS_LIBS="%{NSS_LIBS} -lfreebl" \
  1130. NSS_CFLAGS="%{NSS_CFLAGS}" \
  1131. %endif
  1132. bash ../../configure \
  1133. %ifnarch %{jit_arches}
  1134. --with-jvm-variants=zero \
  1135. %endif
  1136. --disable-zip-debug-info \
  1137. --with-milestone="fcs" \
  1138. --with-update-version=%{updatever} \
  1139. --with-build-number=%{buildver} \
  1140. --with-boot-jdk=/usr/lib/jvm/java-openjdk \
  1141. --with-debug-level=$debugbuild \
  1142. --enable-unlimited-crypto \
  1143. %if %{with system_nss}
  1144. --enable-system-nss \
  1145. %endif
  1146. --with-zlib=system \
  1147. --with-libjpeg=system \
  1148. --with-giflib=system \
  1149. --with-libpng=system \
  1150. --with-lcms=bundled \
  1151. --with-stdc++lib=dynamic \
  1152. --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
  1153. --with-extra-cflags="$EXTRA_CFLAGS" \
  1154. --with-extra-ldflags="%{ourldflags}" \
  1155. --with-num-cores="$NUM_PROC"
  1156. cat spec.gmk
  1157. cat hotspot-spec.gmk
  1158. # The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist
  1159. # disables FDS for all build configs and reverts to pre-FDS make logic.
  1160. # STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says
  1161. # ignore all the other logic about which debug options and just do '-g'.
  1162. make \
  1163. DEBUG_BINARIES=true \
  1164. JAVAC_FLAGS=-g \
  1165. STRIP_POLICY=no_strip \
  1166. POST_STRIP_CMD="" \
  1167. LOG=trace \
  1168. SCTP_WERROR= \
  1169. %{targets}
  1170. make zip-docs
  1171. # the build (erroneously) removes read permissions from some jars
  1172. # this is a regression in OpenJDK 7 (our compiler):
  1173. # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
  1174. find images/%{j2sdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
  1175. chmod ugo+r images/%{j2sdkimage}/lib/ct.sym
  1176. # remove redundant *diz and *debuginfo files
  1177. find images/%{j2sdkimage} -iname '*.diz' -exec rm {} \;
  1178. find images/%{j2sdkimage} -iname '*.debuginfo' -exec rm {} \;
  1179. popd >& /dev/null
  1180. # Install nss.cfg right away as we will be using the JRE above
  1181. export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
  1182. %if %{with system_nss}
  1183. # Install nss.cfg right away as we will be using the JRE above
  1184. install -m 644 %{SOURCE11} $JAVA_HOME/jre/lib/security/
  1185. %endif
  1186. # Use system-wide tzdata
  1187. rm $JAVA_HOME/jre/lib/tzdb.dat
  1188. ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat
  1189. #build cycles
  1190. done
  1191. %check
  1192. # We test debug first as it will give better diagnostics on a crash
  1193. for suffix in %{rev_build_loop} ; do
  1194. export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
  1195. # Check unlimited policy has been used
  1196. $JAVA_HOME/bin/javac -d . %{SOURCE13}
  1197. $JAVA_HOME/bin/java TestCryptoLevel
  1198. # Check ECC is working
  1199. $JAVA_HOME/bin/javac -d . %{SOURCE14}
  1200. $JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
  1201. # Check debug symbols are present and can identify code
  1202. SERVER_JVM="$JAVA_HOME/jre/lib/%{archinstall}/server/libjvm.so"
  1203. if [ -f "$SERVER_JVM" ] ; then
  1204. nm -aCl "$SERVER_JVM" | grep javaCalls.cpp
  1205. fi
  1206. CLIENT_JVM="$JAVA_HOME/jre/lib/%{archinstall}/client/libjvm.so"
  1207. if [ -f "$CLIENT_JVM" ] ; then
  1208. nm -aCl "$CLIENT_JVM" | grep javaCalls.cpp
  1209. fi
  1210. ZERO_JVM="$JAVA_HOME/jre/lib/%{archinstall}/zero/libjvm.so"
  1211. if [ -f "$ZERO_JVM" ] ; then
  1212. nm -aCl "$ZERO_JVM" | grep javaCalls.cpp
  1213. fi
  1214. # Check src.zip has all sources. See RHBZ#1130490
  1215. jar -tf $JAVA_HOME/src.zip | grep 'sun.misc.Unsafe'
  1216. # Check class files include useful debugging information
  1217. $JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
  1218. $JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
  1219. $JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
  1220. # Check generated class files include useful debugging information
  1221. $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
  1222. $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
  1223. $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
  1224. done
  1225. %install
  1226. rm -rf $RPM_BUILD_ROOT
  1227. STRIP_KEEP_SYMTAB=libjvm*
  1228. for suffix in %{build_loop} ; do
  1229. pushd %{buildoutputdir $suffix}/images/%{j2sdkimage}
  1230. #install jsa directories so we can owe them
  1231. mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/server/
  1232. mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/client/
  1233. # Install main files.
  1234. install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
  1235. cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
  1236. install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
  1237. cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
  1238. %if %{with_systemtap}
  1239. # Install systemtap support files.
  1240. install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset
  1241. # note, that uniquesuffix is in BUILD dir in this case
  1242. cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
  1243. pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
  1244. tapsetFiles=`ls *.stp`
  1245. popd
  1246. install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
  1247. pushd $RPM_BUILD_ROOT%{tapsetdir}
  1248. RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir $suffix}/tapset %{tapsetdir})
  1249. for name in $tapsetFiles ; do
  1250. targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
  1251. ln -sf $RELATIVE/$name $targetName
  1252. done
  1253. popd
  1254. %endif
  1255. # Install cacerts symlink.
  1256. rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security/cacerts
  1257. pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security
  1258. RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
  1259. %{_jvmdir}/%{jredir $suffix}/lib/security)
  1260. ln -sf $RELATIVE/cacerts .
  1261. popd
  1262. # Install extension symlinks.
  1263. install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir $suffix}
  1264. pushd $RPM_BUILD_ROOT%{jvmjardir $suffix}
  1265. RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir $suffix}/lib %{jvmjardir $suffix})
  1266. ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
  1267. ln -sf $RELATIVE/jce.jar jce-%{version}.jar
  1268. ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
  1269. ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
  1270. ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
  1271. ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
  1272. ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
  1273. ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
  1274. ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
  1275. ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
  1276. for jar in *-%{version}.jar
  1277. do
  1278. if [ x%{version} != x%{javaver} ]
  1279. then
  1280. ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
  1281. fi
  1282. ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
  1283. done
  1284. popd
  1285. # Install JCE policy symlinks.
  1286. install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix $suffix}/jce/vanilla
  1287. # Install versioned symlinks.
  1288. pushd $RPM_BUILD_ROOT%{_jvmdir}
  1289. ln -sf %{jredir $suffix} %{jrelnk $suffix}
  1290. popd
  1291. pushd $RPM_BUILD_ROOT%{_jvmjardir}
  1292. ln -sf %{sdkdir $suffix} %{jrelnk $suffix}
  1293. popd
  1294. # Remove javaws man page
  1295. rm -f man/man1/javaws*
  1296. # Install man pages.
  1297. install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
  1298. for manpage in man/man1/*
  1299. do
  1300. # Convert man pages to UTF8 encoding.
  1301. iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
  1302. mv -f $manpage.tmp $manpage
  1303. install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
  1304. $manpage .1)-%{uniquesuffix $suffix}.1
  1305. done
  1306. # Install demos and samples.
  1307. cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
  1308. mkdir -p sample/rmi
  1309. if [ ! -e sample/rmi/java-rmi.cgi ] ; then
  1310. # hack to allow --short-circuit on install
  1311. mv bin/java-rmi.cgi sample/rmi
  1312. fi
  1313. cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
  1314. popd
  1315. # Install Javadoc documentation.
  1316. install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
  1317. cp -a %{buildoutputdir $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}
  1318. cp -a %{buildoutputdir $suffix}/bundles/jdk-%{javaver}_%{updatever}$suffix-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip
  1319. # Install icons and menu entries.
  1320. for s in 16 24 32 48 ; do
  1321. install -D -p -m 644 \
  1322. openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
  1323. $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
  1324. done
  1325. # Install desktop files.
  1326. install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
  1327. for e in jconsole$suffix policytool$suffix ; do
  1328. desktop-file-install --vendor=%{uniquesuffix $suffix} --mode=644 \
  1329. --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
  1330. done
  1331. # Install /etc/.java/.systemPrefs/ directory
  1332. # See https://bugzilla.redhat.com/show_bug.cgi?id=741821
  1333. mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
  1334. # Find JRE directories.
  1335. find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type d \
  1336. | grep -v jre/lib/security \
  1337. | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
  1338. > %{name}.files-headless"$suffix"
  1339. # Find JRE files.
  1340. find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type f -o -type l \
  1341. | grep -v jre/lib/security \
  1342. | sed 's|'$RPM_BUILD_ROOT'||' \
  1343. > %{name}.files.all"$suffix"
  1344. #split %%{name}.files to %%{name}.files-headless and %%{name}.files
  1345. #see https://bugzilla.redhat.com/show_bug.cgi?id=875408
  1346. NOT_HEADLESS=\
  1347. "%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjsoundalsa.so
  1348. %{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libpulse-java.so
  1349. %{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libsplashscreen.so
  1350. %{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libawt_xawt.so
  1351. %{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjawt.so
  1352. %{_jvmdir}/%{uniquesuffix $suffix}/jre/bin/policytool"
  1353. #filter %%{name}.files from %%{name}.files.all to %%{name}.files-headless
  1354. ALL=`cat %{name}.files.all"$suffix"`
  1355. for file in $ALL ; do
  1356. INLCUDE="NO" ;
  1357. for blacklist in $NOT_HEADLESS ; do
  1358. #we can not match normally, because rpmbuild will evaluate !0 result as script failure
  1359. q=`expr match "$file" "$blacklist"` || :
  1360. l=`expr length "$blacklist"` || :
  1361. if [ $q -eq $l ]; then
  1362. INLCUDE="YES" ;
  1363. fi;
  1364. done
  1365. if [ "x$INLCUDE" = "xNO" ]; then
  1366. echo "$file" >> %{name}.files-headless"$suffix"
  1367. else
  1368. echo "$file" >> %{name}.files"$suffix"
  1369. fi
  1370. done
  1371. # Find demo directories.
  1372. find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
  1373. $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample -type d \
  1374. | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
  1375. > %{name}-demo.files"$suffix"
  1376. # FIXME: remove SONAME entries from demo DSOs. See
  1377. # https://bugzilla.redhat.com/show_bug.cgi?id=436497
  1378. # Find non-documentation demo files.
  1379. find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
  1380. $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
  1381. -type f -o -type l | sort \
  1382. | grep -v README \
  1383. | sed 's|'$RPM_BUILD_ROOT'||' \
  1384. >> %{name}-demo.files"$suffix"
  1385. # Find documentation demo files.
  1386. find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
  1387. $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
  1388. -type f -o -type l | sort \
  1389. | grep README \
  1390. | sed 's|'$RPM_BUILD_ROOT'||' \
  1391. | sed 's|^|%doc |' \
  1392. >> %{name}-demo.files"$suffix"
  1393. # intentionally after the files generation, as it goes to separate package
  1394. # Create links which leads to separately installed java-atk-bridge and allow configuration
  1395. # links points to java-atk-wrapper - an dependence
  1396. pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}
  1397. ln -s %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so
  1398. popd
  1399. pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/ext
  1400. ln -s %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar java-atk-wrapper.jar
  1401. popd
  1402. pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/
  1403. echo "#Config file to enable java-atk-wrapper" > accessibility.properties
  1404. echo "" >> accessibility.properties
  1405. echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties
  1406. echo "" >> accessibility.properties
  1407. popd
  1408. bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix} %{javaver}
  1409. # https://bugzilla.redhat.com/show_bug.cgi?id=1183793
  1410. touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/security/java.security
  1411. # end, dual install
  1412. done
  1413. %if %{include_normal_build}
  1414. # intentioanlly only for non-debug
  1415. %pretrans headless -p <lua>
  1416. -- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
  1417. -- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
  1418. -- if copy-jdk-configs is in transaction, it installs in pretrans to temp
  1419. -- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in tranasction and so is
  1420. -- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
  1421. -- whether copy-jdk-configs is installed or not. If so, then configs are copied
  1422. -- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
  1423. local posix = require "posix"
  1424. local debug = false
  1425. SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
  1426. SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
  1427. local stat1 = posix.stat(SOURCE1, "type");
  1428. local stat2 = posix.stat(SOURCE2, "type");
  1429. if (stat1 ~= nil) then
  1430. if (debug) then
  1431. print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
  1432. end;
  1433. package.path = package.path .. ";" .. SOURCE1
  1434. else
  1435. if (stat2 ~= nil) then
  1436. if (debug) then
  1437. print(SOURCE2 .." exists - copy-jdk-configs alrady installed and NOT in transation. Using.")
  1438. end;
  1439. package.path = package.path .. ";" .. SOURCE2
  1440. else
  1441. if (debug) then
  1442. print(SOURCE1 .." does NOT exists")
  1443. print(SOURCE2 .." does NOT exists")
  1444. print("No config files will be copied")
  1445. end
  1446. return
  1447. end
  1448. end
  1449. -- run contetn of included file with fake args
  1450. arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}"}
  1451. require "copy_jdk_configs.lua"
  1452. %post
  1453. %{post_script %{nil}}
  1454. %post headless
  1455. %{post_headless %{nil}}
  1456. %postun
  1457. %{postun_script %{nil}}
  1458. %postun headless
  1459. %{postun_headless %{nil}}
  1460. %posttrans
  1461. %{posttrans_script %{nil}}
  1462. %post devel
  1463. %{post_devel %{nil}}
  1464. %postun devel
  1465. %{postun_devel %{nil}}
  1466. %posttrans devel
  1467. %{posttrans_devel %{nil}}
  1468. %post javadoc
  1469. %{post_javadoc %{nil}}
  1470. %postun javadoc
  1471. %{postun_javadoc %{nil}}
  1472. %post javadoc-zip
  1473. %{post_javadoc_zip %{nil}}
  1474. %postun javadoc-zip
  1475. %{postun_javadoc_zip %{nil}}
  1476. %endif
  1477. %if %{include_debug_build}
  1478. %post debug
  1479. %{post_script %{debug_suffix_unquoted}}
  1480. %post headless-debug
  1481. %{post_headless %{debug_suffix_unquoted}}
  1482. %postun debug
  1483. %{postun_script %{debug_suffix_unquoted}}
  1484. %postun headless-debug
  1485. %{postun_headless %{debug_suffix_unquoted}}
  1486. %posttrans debug
  1487. %{posttrans_script %{debug_suffix_unquoted}}
  1488. %post devel-debug
  1489. %{post_devel %{debug_suffix_unquoted}}
  1490. %postun devel-debug
  1491. %{postun_devel %{debug_suffix_unquoted}}
  1492. %posttrans devel-debug
  1493. %{posttrans_devel %{debug_suffix_unquoted}}
  1494. %post javadoc-debug
  1495. %{post_javadoc %{debug_suffix_unquoted}}
  1496. %postun javadoc-debug
  1497. %{postun_javadoc %{debug_suffix_unquoted}}
  1498. %post javadoc-zip-debug
  1499. %{post_javadoc_zip %{debug_suffix_unquoted}}
  1500. %postun javadoc-zip-debug
  1501. %{postun_javadoc_zip %{debug_suffix_unquoted}}
  1502. %endif
  1503. %if %{include_normal_build}
  1504. %files -f %{name}.files
  1505. # main package builds always
  1506. %{files_jre %{nil}}
  1507. %else
  1508. %files
  1509. # placeholder
  1510. %endif
  1511. %if %{include_normal_build}
  1512. %files headless -f %{name}.files-headless
  1513. # important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
  1514. # all config/norepalce files (and more) have to be declared in pretrans. See pretrans
  1515. %{files_jre_headless %{nil}}
  1516. %files devel
  1517. %{files_devel %{nil}}
  1518. %files demo -f %{name}-demo.files
  1519. %{files_demo %{nil}}
  1520. %files src
  1521. %{files_src %{nil}}
  1522. %files javadoc
  1523. %{files_javadoc %{nil}}
  1524. %files javadoc-zip
  1525. %{files_javadoc_zip %{nil}}
  1526. %files accessibility
  1527. %{files_accessibility %{nil}}
  1528. %endif
  1529. %if %{include_debug_build}
  1530. %files debug -f %{name}.files-debug
  1531. %{files_jre %{debug_suffix_unquoted}}
  1532. %files headless-debug -f %{name}.files-headless-debug
  1533. %{files_jre_headless %{debug_suffix_unquoted}}
  1534. %files devel-debug
  1535. %{files_devel %{debug_suffix_unquoted}}
  1536. %files demo-debug -f %{name}-demo.files-debug
  1537. %{files_demo %{debug_suffix_unquoted}}
  1538. %files src-debug
  1539. %{files_src %{debug_suffix_unquoted}}
  1540. %files javadoc-debug
  1541. %{files_javadoc %{debug_suffix_unquoted}}
  1542. %files javadoc-zip-debug
  1543. %{files_javadoc_zip %{debug_suffix_unquoted}}
  1544. %files accessibility-debug
  1545. %{files_accessibility %{debug_suffix_unquoted}}
  1546. %endif
  1547. %changelog
  1548. * Tue Jun 21 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.8.0.92-1.b14
  1549. - new upstream release.
  1550. - replaced most of stuff with specfile of rawhide.
  1551. - initial bootstrap build with java-1.7.0-openjdk.
  1552. * Tue Nov 17 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.91-2.6.2.1
  1553. - new upstream release.
  1554. - import changes from CentOS7.
  1555. * Mon Jul 14 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.55-2.4.7.3
  1556. - replaced most of stuff with specfile of RHEL7.
  1557. * Fri May 30 2014 Andrew John Hughes <gnu.andrew@redhat.com> - 1.7.0.55-2.4.7.2
  1558. - Remove NSS patches. Issues with PKCS11 provider mean it shouldn't be enabled.
  1559. - Always setup nss.cfg and depend on nss-devel at build-time to do so.
  1560. - This allows users who wish to use PKCS11+NSS to just add it to java.security.
  1561. - Patches to PKCS11 provider will be included upstream in 2.4.8 (ETA July 2014)
  1562. - Resolves: rhbz#1099565
  1563. * Tue May 20 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.55-2.4.7.0.el7
  1564. - bumped to future icedtea-forest 2.4.7
  1565. - updatever set to 55, buildver se to 13, release reset to 0
  1566. - removed upstreamed patch402 gstackbounds.patch
  1567. - removed Requires: rhino, BuildRequires is enough
  1568. - ppc64 repalced by power64 macro
  1569. - patch111 applied as dry-run (6.6 forward port)
  1570. - nss enabled, but notused as default (6.6 forward port)
  1571. - Resolves: rhbz#1099565
  1572. * Fri Apr 04 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.5.el7
  1573. - added OrderWithRequires on headless where possible
  1574. - Resolves: rhbz#1038092
  1575. * Thu Mar 27 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.3.el7
  1576. - synced lua script from fedora.
  1577. - Resolves: rhbz#1038092
  1578. * Fri Mar 14 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.2.el7
  1579. - added fstack-protector-strong to CFLAGS
  1580. - Resolves: rhbz#1070816
  1581. * Thu Mar 06 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.1.el7
  1582. - diabled NSS. Missuisng 1038092 for it as it is in hurry.
  1583. - Related: rhbz#1038092
  1584. * Thu Jan 30 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.0.el7
  1585. - updated to icedtea 2.4.5 + sync with f21
  1586. - http://blog.fuseyism.com/index.php/2014/01/29/icedtea-2-4-5-released/
  1587. - removed buildRequires: pulseaudio >= 0.9.11, as not neccessary
  1588. - but kept libs-devel)
  1589. - removed upstreamed or unwonted patches (thanx to gnu_andrew to pointing them out)
  1590. - patch410 1015432.patch (upstreamed)
  1591. - patch411 1029588.patch
  1592. - patch412 zero-x32.diff
  1593. - patch104 java-1.7.0-ppc-zero-jdk.patch
  1594. - patch105 java-1.7.0-ppc-zero-hotspot.patch
  1595. - patch402 gstackbounds.patch and patch403 PStack-808293.patch applied always
  1596. (again thanx to gnu_andrew)
  1597. - merged other gnu_andrew's changes
  1598. - FT2_CFLAGS and FT2_LIBS hardoced values replaced by correct pkg-config calls
  1599. - buildver bumbed to 31
  1600. - added build requires nss-devel
  1601. - removed build requires mercurial
  1602. - added JRE_RELEASE_VERSION and ALT_PARALLEL_COMPILE_JOBS into make call
  1603. - Related: rhbz1038092
  1604. * Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 1.7.0.51-2.4.4.1
  1605. - Mass rebuild 2014-01-24
  1606. * Fri Jan 10 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.4.0.el7
  1607. - updated to security icedtea 2.4.4
  1608. - icedtea_version set to 2.4.4
  1609. - updatever bumped to 51
  1610. - release reset to 0
  1611. - sync with fedora
  1612. - added and applied patch411 1029588.patch (rh 1029588)
  1613. - added aand applied patch410, 1015432 (rh 1015432)
  1614. - and so removed patch121 FixPPC64StackOverflow.patch
  1615. - added patch412 zero-x32.diff to try to fix zero builds build
  1616. - Resolves: rhbz#1053280
  1617. * Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.7.0.45-2.4.3.5.el7
  1618. - Mass rebuild 2013-12-27
  1619. * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.4.fel7
  1620. - Removed obsoletes for java-1.6.0-openjdk* , until decided its presence in el7
  1621. - Resolves:rhbz#1018680
  1622. * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.3.fel7
  1623. - just bumped release, need to confirm, that patch121, FixPPC64StackOverflow.patch
  1624. really works
  1625. - Resolves:rhbz#1018680
  1626. * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.2.fel7
  1627. - added and applied patch121, FixPPC64StackOverflow.patch
  1628. - all redundant ppc64 strings replaced by power64 macro
  1629. - Resolves:rhbz#1018680
  1630. * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.1.fel7
  1631. - updated to new CPU sources 2.4.3
  1632. - Resolves:rhbz#1018680
  1633. * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.0.fel7
  1634. - updated to latest CPU sources 2.4.3
  1635. - Resolves:rhbz#1018680
  1636. * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.12.fel7
  1637. - jdk splitted to headless and rest
  1638. - Resolves:rhbz#875408
  1639. * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.11.fel7
  1640. - another tapset fix
  1641. - Resolves:rhbz#875408
  1642. * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.10.fel7
  1643. - abrt changed to soft dependece
  1644. - Resolves:rhbz#875408
  1645. * Thu Oct 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.9.el7
  1646. - renamed tapset source to be "versioned"
  1647. - improved agent placement
  1648. - Resolves:rhbz#875408
  1649. * Wed Oct 02 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.8.el7
  1650. - updated tapset to current head (825824)
  1651. - Resolves:rhbz#875408
  1652. * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.7.el7
  1653. - fixed incorrect _jvmdir/jre-javaver_origin to _jvmdir/jre-javaver-origin link
  1654. - Resolves:rhbz#875408
  1655. * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.6.el7
  1656. - syncing with f20 - abrt connector
  1657. - Resolves:rhbz#875408
  1658. * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.3.el7
  1659. - syncing with f19/rhel-6.5
  1660. - Resolves:rhbz#875408
  1661. * Wed Aug 07 2013 Deepak Bhole <dbhole@redhat.com> - 1.7.0.25-2.3.12.3.el7
  1662. - Removed obsoletes for java-1.6.0-openjdk*
  1663. * Fri Jul 26 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.12.2.el7
  1664. - refreshed icedtea7-forest 2.3.12
  1665. - fix broken jre_exports alternatives links (thanx to orion bug #979128)
  1666. * Thu Jul 25 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.11.0.el7
  1667. - added new alternatives jre-1.7.0-openjdk and java-1.7.0-openjdk
  1668. - finally merged arm and main source tarballs
  1669. - updated to icedtea 2.3.11
  1670. - http://blog.fuseyism.com/index.php/2013/07/25/icedtea-2-3-11-released/
  1671. - added removal of new jre-1.7.0-openjdk and java-1.7.0-openjdk alternatives
  1672. - removed patch 400, rhino for 2.1 and other 2.1 conditional stuff
  1673. - removed patch 103 arm-fixes.patch
  1674. - removed "dir" from files which was duplicating jre in sdk
  1675. * Fri Jul 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
  1676. - jrelnk is now just lnk, everything is pointing through jredir
  1677. * Thu Jul 18 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
  1678. - minor cleaning
  1679. - sdklnk removed, and substitued by sdkdir
  1680. * Wed Jul 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.5.fel7
  1681. - moved to xz compression of sources
  1682. - updated 2.1 tarball
  1683. * Thu Jun 27 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.4.el7
  1684. - Sync with upstream IcedTea7-forest 2.3.10 tag
  1685. - Fixes regressions as introduced with 1.7.0.25-2.3.10.3.el6:
  1686. rhbz#978005, rhbz#977979, rhbz#976693, IcedTeaBZ#1487.
  1687. - all patch commands repalced by patch macro
  1688. - updated java-1.7.0-openjdk-ppc-zero-hotspot.patch to pass without loose patching
  1689. * Wed Jun 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.3.el7
  1690. - update of IcedTea7-forest 2.3.10 tarball
  1691. - removed patch1000 MBeanFix.patch to fix regressions caused by security patches
  1692. * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.2.el7
  1693. - added patch1000 MBeanFix.patch to fix regressions caused by security patches
  1694. * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.1.el7
  1695. - arm tarball updated to 2.1.9
  1696. - build bumped to 25
  1697. * Wed Jun 12 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.10.0.el7
  1698. - fixed RH972717 by enabling patch110 java-1.7.0-openjdk-nss-icedtea-e9c857dcb964.patch
  1699. - temporarly swithced to intree lcms as it have security fixes (patch 500)
  1700. - added GENSRCDIR="$PWD/generated.build" to be able to
  1701. - removed (build)requires lcms2(-devel)
  1702. - Updated to latest IcedTea7-forest 2.3.10
  1703. * Wed Jun 05 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.14.fc19
  1704. - Added client/server directories so they can be owned
  1705. - Renamed patch 107 to 200
  1706. - Added nss support from 6.5
  1707. - Added fix for RH857717, owned /etc/.java/ and /etc/.java/.systemPrefs
  1708. - Removed ant-nodeps, should not be needed
  1709. * Tue May 28 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.13.el7
  1710. - javadoc put into fully versioned directory, but without arch (to be kept noarch)
  1711. - uniquejavadocdir
  1712. - updated to latest 2.3.9 tarball - fixing the rhbz#967436
  1713. * Mon May 27 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
  1714. - Allowed multiple OpenJDKs to be installed in parallel
  1715. - Removed archname
  1716. - Added arch to all, not only multilib arches
  1717. - uniquesuffix is now holding fully versioned name
  1718. - Intorduced source11 remove-buildids.sh
  1719. * Fri May 17 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
  1720. - Replace %{name} with %{uniquesuffix} where it's used as a unique suffix.
  1721. * Thu May 16 2013 Jiri Vanek <jvanek@redhat.com>
  1722. - added variable arm_arches as restriction to some cases of not jit_arches
  1723. * Tue May 14 2013 Jiri Vanek <jvanek@redhat.com>
  1724. - patch402 gstackbounds.patch applied only to jit arches
  1725. - patch403 PStack-808293.patch likewise
  1726. * Mon May 13 2013 Jiri Vanek <jvanek@redhat.com>
  1727. - initial, not buildable, sync with f19
  1728. * Tue Mar 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.9-2.3.8.1
  1729. - update to icedtea7 2.3.8
  1730. * Sun Jul 22 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.5-2.2.1.1
  1731. - initial build for Vine Linux
  1732. * Mon Jul 09 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.5-2.2.1.fc18.9
  1733. - Added support to build older (2.1.1/u3/hs22) version on non-jit (secondary)
  1734. arches
  1735. * Wed Jun 13 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.8
  1736. - Fixed broken provides sections
  1737. - Changed java-devel requirement to be self's devel (java-1.7.0-openjdk-devel)
  1738. * Mon Jun 11 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.7
  1739. - Used newly prepared tarball with security fixes
  1740. - Bump to icedtea7-forest-2.2.1
  1741. - _mandir/man1/jcmd-name.1 added to alternatives
  1742. - Updated rhino.patch
  1743. - Modified partially upstreamed patch302 - systemtap.patch
  1744. - Temporarly disabled patch102 - java-1.7.0-openjdk-size_t.patch
  1745. - Removed already upstreamed patches 104,107,108,301
  1746. - java-1.7.0-openjdk-arm-ftbfs.patch
  1747. - java-1.7.0-openjdk-system-zlib.patch
  1748. - java-1.7.0-openjdk-remove-mimpure-opt.patch
  1749. - systemtap-alloc-size-workaround.patch
  1750. - patch 105 (java-1.7.0-openjdk-ppc-zero-jdk.patch) have become 104
  1751. - patch 106 (java-1.7.0-openjdk-ppc-zero-hotspot.patch) have become 105
  1752. - Added build requires zip, which was untill now dependence of dependence
  1753. - Access gnome brridge jar forced to be 644
  1754. * Fri May 25 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.7
  1755. - Miscellaneous fixes brought in from RHEL branch
  1756. - Resolves: rhbz#825255: Added ALT_STRIP_POLICY so that debug info is not stripped
  1757. - Moved Patch #7 (usage of system zlib) to #107
  1758. * Tue May 01 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.6
  1759. - Removed VisualVM requirements
  1760. - Obsoleted java-1.6.0-openjdk*
  1761. - Added BR for zip
  1762. * Mon Mar 26 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.5
  1763. - Added SystemTap fixes by Mark Wielaard
  1764. * Sat Mar 24 2012 Dan Horák <dan[at]danny.cz>> - 1.7.0.3-2.1.fc17.4
  1765. - update paths in the ppc patches, add missing snippet
  1766. * Wed Mar 21 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.3
  1767. - Reverted fix for rhbz#740762
  1768. - Fixed PPC/PPC64 build (rh804136) -- added patches from Chris Phillips
  1769. - Moved OpenJDK specific patches to 1XX series
  1770. * Mon Mar 12 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.2
  1771. - Resolved rhbz#740762: java.library.path is missing some paths
  1772. - Unified spec file for x86, x86_64, ARM and s390
  1773. - Integrated changes from Dan Horák <dhorak@redhat.com> for Zero/s390
  1774. - Integrated changes from Chris Phillips <chphilli@redhat.com> for Zero/ARM
  1775. * Fri Feb 24 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.1
  1776. - Added flag so that debuginfo is built into classfiles (rhbz# 796400)
  1777. - Updated rhino.patch to build scripting support (rhbz# 796398)
  1778. * Tue Feb 14 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1
  1779. - Updated to OpenJDK7u3/IcedTea7 2.1
  1780. - Security fixes:
  1781. - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
  1782. - S7082299, CVE-2011-3571: AtomicReferenceArray insufficient array type check
  1783. - S7110687, CVE-2012-0503: Unrestricted use of TimeZone.setDefault
  1784. - S7110700, CVE-2012-0505: Incomplete info in the deserialization exception
  1785. - S7110683, CVE-2012-0502: KeyboardFocusManager focus stealing
  1786. - S7088367, CVE-2011-3563: JavaSound incorrect bounds check
  1787. - S7126960, CVE-2011-5035: Add property to limit number of request headers to the HTTP Server
  1788. - S7118283, CVE-2012-0501: Off-by-one bug in ZIP reading code
  1789. - S7110704, CVE-2012-0506: CORBA fix
  1790. - Add patch to fix compilation with GCC 4.7
  1791. * Tue Nov 15 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.3
  1792. - Added patch to fix bug in jdk_generic_profile.sh
  1793. - Compile with generic profile to use system libraries
  1794. - Made remove-intree-libraries.sh more robust
  1795. - Added lcms requirement
  1796. - Added patch to fix glibc name clash
  1797. - Updated java version to include -icedtea
  1798. * Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.2
  1799. - Added missing changelog entry
  1800. * Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.1
  1801. - Updated to IcedTea 2.0 tag in the IcedTea OpenJDK7 forest
  1802. - Removed obsoleted patches
  1803. - Added system timezone support
  1804. - Revamp version/release naming scheme to make it proper
  1805. - Security fixes
  1806. - S7000600, CVE-2011-3547: InputStream skip() information leak
  1807. - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor
  1808. - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow
  1809. - S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager
  1810. - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine
  1811. - S7055902, CVE-2011-3521: IIOP deserialization code execution
  1812. - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks
  1813. - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)
  1814. - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer
  1815. - S7077466, CVE-2011-3556: RMI DGC server remote code execution
  1816. - S7083012, CVE-2011-3557: RMI registry privileged code execution
  1817. - S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection
  1818. * Mon Aug 29 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110823.1
  1819. - Provide a "7" version of items to enfore F-16 policy of no Java 7 builds
  1820. - Resolves: rhbz#728706, patch from Ville Skyttä <ville.skytta at iki dot fi>
  1821. * Fri Aug 05 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110803
  1822. - Use a newer snapshot and forest on classpath.org rather than on openjdk.net
  1823. - Added in-tree-removal script to remove libraries that we manually link
  1824. - Updated snapshots
  1825. - Added DISTRO_NAME and FreeType header/lib locations
  1826. - Removed application of patch100 and patch 113 (now in forest)
  1827. * Wed Aug 03 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110729
  1828. - Initial build from java-1.6.0-openjdk RPM