java-1.8.0-openjdk-vl.spec 75 KB

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