12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505 |
- # If gcjbootstrap is 1 OpenJDK is bootstrapped against
- # java-1.5.0-gcj-devel. If gcjbootstrap is 0 OpenJDK is built against
- # java-devel >= 1.6.0
- %global gcjbootstrap 0
- # If debug is 1, OpenJDK is built with all debug info present.
- %global debug 0
- %global icedtea_version 2.3.8
- %global hg_tag icedtea-{icedtea_version}
- %global accessmajorver 1.23
- %global accessminorver 0
- %global accessver %{accessmajorver}.%{accessminorver}
- %global accessurl http://ftp.gnome.org/pub/GNOME/sources/java-access-bridge/
- %global multilib_arches ppc64 sparc64 x86_64
- %global jit_arches %{ix86} x86_64 sparcv9 sparc64
- %ifarch x86_64
- %global archbuild amd64
- %global archinstall amd64
- %endif
- %ifarch ppc
- %global archbuild ppc
- %global archinstall ppc
- %global archdef PPC
- %endif
- %ifarch ppc64
- %global archbuild ppc64
- %global archinstall ppc64
- %global archdef PPC
- %endif
- %ifarch %{ix86}
- %global archbuild i586
- %global archinstall i386
- %endif
- %ifarch ia64
- %global archbuild ia64
- %global archinstall ia64
- %endif
- %ifarch s390
- %global archbuild s390
- %global archinstall s390
- %global archdef S390
- %endif
- %ifarch s390x
- %global archbuild s390x
- %global archinstall s390x
- %global archdef S390
- %endif
- %ifarch %{arm}
- %global archbuild arm
- %global archinstall arm
- %global archdef ARM
- %endif
- # 32 bit sparc, optimized for v9
- %ifarch sparcv9
- %global archbuild sparc
- %global archinstall sparc
- %endif
- # 64 bit sparc
- %ifarch sparc64
- %global archbuild sparcv9
- %global archinstall sparcv9
- %endif
- %ifnarch %{jit_arches}
- %global archbuild %{_arch}
- %global archinstall %{_arch}
- %endif
- %if %{debug}
- %global debugbuild debug_build
- %else
- %global debugbuild %{nil}
- %endif
- %global buildoutputdir openjdk/build/linux-%{archbuild}
- %global with_pulseaudio 1
- %ifarch %{jit_arches}
- %global with_systemtap 0
- %else
- %global with_systemtap 0
- %endif
- # Convert an absolute path to a relative path. Each symbolic link is
- # specified relative to the directory in which it is installed so that
- # it will resolve properly within chrooted installations.
- %global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
- %global abs2rel %{__perl} -e %{script}
- # Hard-code libdir on 64-bit architectures to make the 64-bit JDK
- # simply be another alternative.
- %ifarch %{multilib_arches}
- %global syslibdir %{_prefix}/lib64
- %global _libdir %{_prefix}/lib
- %global archname %{name}.%{_arch}
- %else
- %global syslibdir %{_libdir}
- %global archname %{name}
- %endif
- # Standard JPackage naming and versioning defines.
- %global origin openjdk
- %global buildver 9
- # Keep priority on 6digits in case buildver>9
- %global priority 17000%{buildver}
- %global javaver 1.7.0
- # Standard JPackage directories and symbolic links.
- # Make 64-bit JDKs just another alternative on 64-bit architectures.
- %ifarch %{multilib_arches}
- %global sdklnk java-%{javaver}-%{origin}.%{_arch}
- %global jrelnk jre-%{javaver}-%{origin}.%{_arch}
- %global sdkdir %{name}-%{version}.%{_arch}
- %else
- %global sdklnk java-%{javaver}-%{origin}
- %global jrelnk jre-%{javaver}-%{origin}
- %global sdkdir %{name}-%{version}
- %endif
- %global jredir %{sdkdir}/jre
- %global sdkbindir %{_jvmdir}/%{sdklnk}/bin
- %global jrebindir %{_jvmdir}/%{jrelnk}/bin
- %ifarch %{multilib_arches}
- %global jvmjardir %{_jvmjardir}/%{name}-%{version}.%{_arch}
- %else
- %global jvmjardir %{_jvmjardir}/%{name}-%{version}
- %endif
- %if %{with_systemtap}
- # Where to install systemtap tapset (links)
- # We would like these to be in a package specific subdir,
- # but currently systemtap doesn't support that, so we have to
- # use the root tapset dir for now. To distinquish between 64
- # and 32 bit architectures we place the tapsets under the arch
- # specific dir (note that systemtap will only pickup the tapset
- # for the primary arch for now). Systemtap uses the machine name
- # aka build_cpu as architecture specific directory name.
- %global tapsetroot /usr/share/systemtap
- %global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
- %endif
- # Prevent brp-java-repack-jars from being run.
- %global __jar_repack 0
- Name: java-%{javaver}-%{origin}
- Version: %{javaver}.%{buildver}
- Release: %{icedtea_version}.1%{?_dist_release}
- Summary: OpenJDK Runtime Environment
- Summary(ja): OpenJDK ランタイム環境
- Group: Development/Languages
- 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
- URL: http://openjdk.java.net/
- #head
- #REPO=http://icedtea.classpath.org/hg/icedtea7-forest
- #current release
- #REPO=http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3
- # hg clone $REPO/ openjdk -r %{hg_tag}
- # hg clone $REPO/corba/ openjdk/corba -r %{hg_tag}
- # hg clone $REPO/hotspot/ openjdk/hotspot -r %{hg_tag}
- # hg clone $REPO/jaxp/ openjdk/jaxp -r %{hg_tag}
- # hg clone $REPO/jaxws/ openjdk/jaxws -r %{hg_tag}
- # hg clone $REPO/jdk/ openjdk/jdk -r %{hg_tag}
- # hg clone $REPO/langtools/ openjdk/langtools -r %{hg_tag}
- # find openjdk -name ".hg" -exec rm -rf '{}' \;
- # find openjdk -name ".hgtags" -exec rm -rf '{}' \;
- # tar czf openjdk-icedtea-%{icedtea_version}.tar.gz openjdk
- Source0: openjdk-icedtea-%{icedtea_version}.tar.gz
- # Gnome access bridge
- Source1: %{accessurl}%{accessmajorver}/java-access-bridge-%{accessver}.tar.bz2
- # README file
- Source2: README.src
- # javac wrapper (used during bootstrap to strip what ecj doesn't support)
- Source3: javac-wrapper
- # Auto-generated files (used only in bootstrap)
- # To reproduce:
- # build OpenJDK7 tarball above with any JDK
- # mv generated.build generated
- # tar czf generated-files.tar.gz generated
- Source4: generated-files.tar.gz
- # Class rewrite to rewrite rhino hierarchy
- Source5: class-rewriter.tar.gz
- # Systemtap tapsets. Zipped up to keep it small.
- Source6: systemtap-tapset.tar.gz
- # .desktop files. Zipped up to keep it small.
- Source7: desktop-files.tar.gz
- # nss configuration file
- Source8: nss.cfg
- # FIXME: Taken from IcedTea snapshot 877ad5f00f69, but needs to be moved out
- # hg clone -r 877ad5f00f69 http://icedtea.classpath.org/hg/icedtea7
- Source9: pulseaudio.tar.gz
- # Removed libraries that we link instead
- Source10: remove-intree-libraries.sh
- # For primary arches, build latest and for secondary, use hs22
- # base (icedtea-2.2.1 tag)
- # http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1
- # hg tag: icedtea-2.1.6
- Source100: openjdk-icedtea-2.1.6.tar.gz
- # RPM/distribution specific patches
- # Allow TCK to pass with access bridge wired in
- Patch1: java-1.7.0-openjdk-java-access-bridge-tck.patch
- # Adjust idlj compilation switches to match what system idlj supports
- Patch2: java-1.7.0-openjdk-java-access-bridge-idlj.patch
- # Disable access to access-bridge packages by untrusted apps
- Patch3: java-1.7.0-openjdk-java-access-bridge-security.patch
- # Ignore AWTError when assistive technologies are loaded
- Patch4: java-1.7.0-openjdk-accessible-toolkit.patch
- # Build docs even in debug
- Patch5: java-1.7.0-openjdk-debugdocs.patch
- # Add debuginfo where missing
- Patch6: %{name}-debuginfo.patch
- #
- # OpenJDK specific patches
- #
- # Add rhino support
- Patch100: rhino.patch
- # Type fixing for s390
- Patch101: %{name}-bitmap.patch
- Patch102: %{name}-size_t.patch
- # Patches for Arm
- Patch103: %{name}-arm-fixes.patch
- # Patch for PPC/PPC64
- Patch104: %{name}-ppc-zero-jdk.patch
- Patch105: %{name}-ppc-zero-hotspot.patch
- Patch106: %{name}-freetype-check-fix.patch
- #
- # Bootstrap patches (code with this is never shipped)
- #
- # Explicitly set javac, so that the bootstrap version is used
- Patch200: bootstrap-ant-javac.patch
- # Adjusted generated sources path to use prebuilt ones
- Patch201: bootstrap-corba-defs.patch
- # Do not use idlj to generate sources, as we use prebuilt ones
- Patch202: bootstrap-corba-idlj.patch
- # Disable decending into sources dir for generation
- Patch203: bootstrap-corba-no-gen.patch
- # Explicitly compile ORB.java
- Patch204: bootstrap-corba-orb.patch
- # Don't build demos in bootstrap
- Patch205: bootstrap-demos.patch
- # Change hex constants to be numbers instead of 0x... so that ecj can compile them right
- Patch206: bootstrap-ecj-fphexconstants.patch
- # Adjust opt flags to remove what ecj doesn't support
- Patch207: bootstrap-ecj-opts.patch
- # use pre-generated font config files
- Patch208: bootstrap-fontconfig.patch
- # Don't write auto-generation message in bootstrap
- Patch209: bootstrap-generated-comments.patch
- # Adjust bootclasspath to match what ecj has
- Patch210: bootstrap-xbootclasspath.patch
- # Wire in icedtea rt.jar (FIXME: name needs update, kept same for now to match icedtea name)
- Patch211: bootstrap-icedteart.patch
- # Wire in custom compiles rt classes
- Patch212: bootstrap-jar.patch
- # Compile inner opengl class explicitly
- Patch213: bootstrap-javah.patch
- # Disable ct.sym creation for bootstrap
- Patch214: bootstrap-symbols.patch
- # Disable icon generation for bootstrap
- Patch215: bootstrap-tobin.patch
- # Don't run test_gamma
- Patch216: bootstrap-test_gamma.patch
- # Disable requirement of module_lib path which bootstrap java_home doesn't have
- Patch217: bootstrap-tools.jar.patch
- # Allow -J opts to jar only if jar knows of them
- Patch218: bootstrap-jopt.patch
- # Explicitly add jaxp classes to classpath
- Patch219: bootstrap-jaxp-dependency.patch
- # Don't fork when generating stubs
- Patch220: bootstrap-genstubs-nofork.patch
- # Remove dependency on ProcessBuilder which is package private to Oracle implementation
- Patch221: bootstrap-break-processbuilder-dependency.patch
- # Allow to build with 1.5
- Patch222: bootstrap-revert-6973616.patch
- # Avoid trying to load system zone info provider and failing
- Patch223: bootstrap-revert-6941137.patch
- # Replace usage of string switch with if/elseif/else
- Patch224: bootstrap-ecj-stringswitch.patch
- # Allow langtools to use older jdk
- Patch225: bootstrap-langtools-force-old-jdk.patch
- # Access JDK sources and classes from langtools build
- Patch226: bootstrap-corba-dependencies.patch
- # Access langtools classes for Javadoc
- Patch227: bootstrap-jaxws-langtools-dependency.patch
- # Access JDK sources for com.sun.net.httpserver
- Patch228: bootstrap-jaxws-jdk-dependency.patch
- # Access JDK and generated sources to build servicability agent
- Patch229: bootstrap-hotspot-jdk-dependency.patch
- # Remove use of multi-catch and replace with regular multi-level catch
- Patch230: bootstrap-ecj-multicatch.patch
- # Remove use of try-with-resources and replace with manual close
- Patch231: bootstrap-ecj-trywithresources.patch
- # Disable auto-boxing and manally cast
- Patch232: bootstrap-ecj-autoboxing.patch
- # Use custom xslt processor
- Patch233: bootstrap-xsltproc.patch
- # Use constants from interface rather than impl
- Patch234: bootstrap-pr40188.patch
- # Remove use of diamond operator and replace with manual
- Patch235: bootstrap-ecj-diamond.patch
- # Adjust javah switches to only use what bootstrap version supports
- Patch236: bootstrap-javah-xbootclasspath.patch
- #
- # Optional component packages
- #
- # Make the ALSA based mixer the default when building with the pulseaudio based
- # mixer
- Patch300: pulse-soundproperties.patch
- # SystemTap support
- # Workaround for RH613824
- Patch302: systemtap.patch
- #
- # IcedTea 2.1.1/hs22 specific patches
- #
- # Rhino support
- Patch400: rhino-icedtea-2.1.1.patch
- BuildRequires: autoconf
- BuildRequires: automake
- BuildRequires: alsa-lib-devel
- BuildRequires: cups-devel
- BuildRequires: desktop-file-utils
- BuildRequires: giflib-devel
- BuildRequires: lcms2-devel
- BuildRequires: libX11-devel
- BuildRequires: libXi-devel
- BuildRequires: libXp-devel
- BuildRequires: libXt-devel
- BuildRequires: libXtst-devel
- BuildRequires: libjpeg-turbo-devel
- BuildRequires: libpng-devel
- BuildRequires: wget
- BuildRequires: libxslt
- BuildRequires: xorg-x11-proto-devel
- BuildRequires: mercurial
- BuildRequires: ant
- BuildRequires: libXinerama-devel
- BuildRequires: rhino
- BuildRequires: lsb
- BuildRequires: zip
- %if %{gcjbootstrap}
- BuildRequires: java-1.5.0-gcj-devel
- %else
- BuildRequires: java-devel >= 1.6.0
- %endif
- BuildRequires: fontconfig
- # Java Access Bridge for GNOME build requirements.
- BuildRequires: at-spi-devel
- BuildRequires: gawk
- BuildRequires: libbonobo-devel
- BuildRequires: pkgconfig >= 0.9.0
- BuildRequires: xorg-x11-utils
- # PulseAudio build requirements.
- %if %{with_pulseaudio}
- BuildRequires: pulseaudio-libs-devel >= 0.9.11
- BuildRequires: pulseaudio >= 0.9.11
- %endif
- # Zero-assembler build requirement.
- %ifnarch %{jit_arches}
- BuildRequires: libffi-devel >= 3.0.10
- %endif
- # cacerts build requirement.
- BuildRequires: openssl
- # execstack build requirement.
- # no prelink on ARM yet
- %ifnarch %{arm}
- BuildRequires: prelink
- %endif
- %if %{with_systemtap}
- #systemtap build requirement.
- BuildRequires: systemtap-sdt-devel
- %endif
- Requires: rhino
- Requires: lcms2
- Requires: libjpeg-turbo
- # Require /etc/pki/java/cacerts.
- Requires: ca-certificates
- # Require jpackage-utils for ant.
- Requires: jpackage-utils
- # Require zoneinfo data provided by tzdata-java subpackage.
- Requires: tzdata-java
- # Post requires alternatives to install tool alternatives.
- Requires(post): alternatives
- # Postun requires alternatives to uninstall tool alternatives.
- Requires(postun): alternatives
- # Standard JPackage base provides.
- Provides: jre-%{javaver}-%{origin} = %{version}-%{release}
- Provides: jre-%{origin} = %{version}-%{release}
- Provides: jre-%{javaver} = %{version}-%{release}
- Provides: java-%{javaver} = %{version}-%{release}
- Provides: jre = %{javaver}
- Provides: java-%{origin} = %{version}-%{release}
- Provides: java = %{javaver}
- # Standard JPackage extensions provides.
- Provides: jndi = %{version}
- Provides: jndi-ldap = %{version}
- Provides: jndi-cos = %{version}
- Provides: jndi-rmi = %{version}
- Provides: jndi-dns = %{version}
- Provides: jaas = %{version}
- Provides: jsse = %{version}
- Provides: jce = %{version}
- Provides: jdbc-stdext = 4.1
- Provides: java-sasl = %{version}
- Provides: java-fonts = %{version}
- # Obsolete older 1.6 packages as it cannot use the new bytecode
- Obsoletes: java-1.6.0-openjdk
- Obsoletes: java-1.6.0-openjdk-demo
- Obsoletes: java-1.6.0-openjdk-devel
- Obsoletes: java-1.6.0-openjdk-javadoc
- Obsoletes: java-1.6.0-openjdk-src
- %description
- The OpenJDK runtime environment.
- %package devel
- Summary: OpenJDK Development Environment
- Summary(ja): OpenJDK 開発環境
- Group: Development/Tools
- # Require base package.
- Requires: %{name} = %{version}-%{release}
- # Post requires alternatives to install tool alternatives.
- Requires(post): alternatives
- # Postun requires alternatives to uninstall tool alternatives.
- Requires(postun): alternatives
- # Standard JPackage devel provides.
- Provides: java-sdk-%{javaver}-%{origin} = %{version}
- Provides: java-sdk-%{javaver} = %{version}
- Provides: java-sdk-%{origin} = %{version}
- Provides: java-sdk = %{javaver}
- Provides: java-%{javaver}-devel = %{version}
- Provides: java-devel-%{origin} = %{version}
- Provides: java-devel = %{javaver}
- %description devel
- The OpenJDK development tools.
- %package demo
- Summary: OpenJDK Demos
- Summary(ja): OpenJDK デモ
- Group: Development/Languages
- Requires: %{name} = %{version}-%{release}
- %description demo
- The OpenJDK demos.
- %package src
- Summary: OpenJDK Source Bundle
- Summary(ja): OpenJDK ソースバンドル
- Group: Development/Languages
- Requires: %{name} = %{version}-%{release}
- %description src
- The OpenJDK source bundle.
- %package javadoc
- Summary: OpenJDK API Documentation
- Summary(ja): OpenJDK API ドキュメント
- Group: Documentation
- Requires: jpackage-utils
- BuildArch: noarch
- # Post requires alternatives to install javadoc alternative.
- Requires(post): alternatives
- # Postun requires alternatives to uninstall javadoc alternative.
- Requires(postun): alternatives
- # Standard JPackage javadoc provides.
- Provides: java-javadoc = %{version}-%{release}
- Provides: java-%{javaver}-javadoc = %{version}-%{release}
- %description javadoc
- The OpenJDK API documentation.
- %prep
- %ifarch %{jit_arches}
- %global source_num 0
- %else
- %global source_num 100
- %endif
- %setup -q -c -n %{name} -T -a %{source_num}
- %setup -q -n %{name} -T -D -a 1
- cp %{SOURCE2} .
- # OpenJDK patches
- # Rhino patch -- one default version (100) and one specific to 2.1.1 (400)
- %ifarch %{jit_arches}
- %patch100
- %else
- %patch400
- %endif
- # pulseaudio support
- %if %{with_pulseaudio}
- %patch300
- %endif
- # Add systemtap patches if enabled
- %if %{with_systemtap}
- %patch302
- %endif
- # Remove libraries that are linked
- sh %{SOURCE10}
- # Copy jaxp, jaf and jaxws drops
- mkdir drops/
- # Extract the generated files
- tar xzf %{SOURCE4}
- # Extract the rewriter (to rewrite rhino classes)
- tar xzf %{SOURCE5}
- # Extract systemtap tapsets
- %if %{with_systemtap}
- tar xzf %{SOURCE6}
- for file in tapset/*.in; do
- OUTPUT_FILE=`echo $file | sed -e s:\.in$::g`
- sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/amd64/server/libjvm.so:g $file > $OUTPUT_FILE
- sed -i -e '/@ABS_CLIENT_LIBJVM_SO@/d' $OUTPUT_FILE
- sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir}:g $OUTPUT_FILE
- sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
- done
- %endif
- # Pulseaudio
- %if %{with_pulseaudio}
- tar xzf %{SOURCE9}
- %endif
- # Extract desktop files
- tar xzf %{SOURCE7}
- # If bootstrapping, apply additional patches
- %if %{gcjbootstrap}
- cp -a openjdk openjdk-boot
- # Add bootstrap patches
- %patch200
- %patch201
- %patch202
- %patch203
- %patch204
- %patch205
- %patch206
- %patch207
- %patch208
- %patch209
- %patch210
- %patch211
- %patch212
- %patch213
- %patch214
- %patch215
- %patch216
- %patch217
- %patch218
- %patch219
- %patch220
- %patch221
- %patch222
- %patch223
- %patch224
- %patch225
- %patch226
- %patch227
- %patch228
- %patch229
- %patch230
- %patch231
- %patch232
- %patch233
- %patch234
- %patch235
- %patch236
- %endif
- %build
- # How many cpu's do we have?
- export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
- export NUM_PROC=${NUM_PROC:-1}
- # Build IcedTea and OpenJDK.
- %ifarch s390x sparc64 alpha ppc64
- export ARCH_DATA_MODEL=64
- %endif
- %ifarch alpha
- export CFLAGS="$CFLAGS -mieee"
- %endif
- patch -l -p0 < %{PATCH3}
- patch -l -p0 < %{PATCH4}
- %if %{debug}
- patch -l -p0 < %{PATCH5}
- patch -l -p0 < %{PATCH6}
- %endif
- # Type fixes for s390
- %ifarch s390 s390x
- patch -l -p0 < %{PATCH101}
- patch -l -p0 < %{PATCH102}
- %endif
- # Arm fixes
- %ifarch %{arm}
- patch -l -p0 < %{PATCH103}
- %endif
- patch -l -p0 < %{PATCH106}
- %ifarch ppc ppc64
- # PPC fixes
- patch -l -p0 < %{PATCH104}
- patch -l -p0 < %{PATCH105}
- %endif
- # Add a "-icedtea" tag to the version
- sed -i "s#BUILD_VARIANT_RELEASE)#BUILD_VARIANT_RELEASE)-icedtea#" openjdk/jdk/make/common/shared/Defs.gmk
- # Build the re-written rhino jar
- mkdir -p rhino/{old,new}
- # Compile the rewriter
- (cd rewriter
- javac com/redhat/rewriter/ClassRewriter.java
- )
- # Extract rhino.jar contents and rewrite
- (cd rhino/old
- jar xf /usr/share/java/rhino.jar
- )
- java -cp rewriter com.redhat.rewriter.ClassRewriter \
- $PWD/rhino/old \
- $PWD/rhino/new \
- org.mozilla \
- sun.org.mozilla
- (cd rhino/old
- for file in `find -type f -not -name '*.class'` ; do
- new_file=../new/`echo $file | sed -e 's#org#sun/org#'`
- mkdir -pv `dirname $new_file`
- cp -v $file $new_file
- sed -ie 's#org\.mozilla#sun.org.mozilla#g' $new_file
- done
- )
- (cd rhino/new
- jar cfm ../rhino.jar META-INF/MANIFEST.MF sun
- )
- %if %{gcjbootstrap}
- mkdir -p bootstrap/boot
- # Copy over JAVA_HOME from /usr/lib/jvm/java-gcj/
- cp -aL %{_jvmdir}/java-gcj/* bootstrap/boot/ || : # broken symlinks can be non-fatal but may cause this to fail
- # Replace javac with a wrapper that does some magic
- cp -af %{SOURCE3} bootstrap/boot/bin/javac
- chmod u+x bootstrap/boot/bin/javac # SOURCE3 may not be +x
- sed -i -e s:@RT_JAR@:$PWD/bootstrap/boot/jre/lib/rt.jar:g bootstrap/boot/bin/javac
- # Link the native2ascii binary
- ln -sf /usr/bin/gnative2ascii bootstrap/boot/bin/native2ascii
- # We don't need a disassebler, fake it
- echo "#!/bin/sh
- exit 0" > bootstrap/boot/bin/javap
- chmod u+rx bootstrap/boot/bin/javap # We need to run this during build
- # Modules directory
- mkdir -p bootstrap/boot/lib/modules
- # jdk1.6.0 link
- rm -f bootstrap/jdk1.6.0
- ln -sf boot bootstrap/jdk1.6.0
- # Update rt.jar with newer classes
- # Extra classes to compile for reasons like
- # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42003
- echo "openjdk-boot/jdk/src/share/classes/java/util/regex/Matcher.java
- openjdk-boot/jdk/src/share/classes/javax/management/remote/JMXServiceURL.java
- openjdk-boot/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
- openjdk-boot/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
- openjdk-boot/langtools/src/share/classes/javax/tools/JavaFileManager.java" > rt-source-files
- mkdir -p rt
- bootstrap/jdk1.6.0/bin/javac -g -encoding utf-8 -source 6 -target 6 -d rt \
- -classpath %{_jvmdir}/java-gcj/jre/lib/rt.jar \
- -sourcepath 'generated:openjdk-boot/jdk/src/share/classes:openjdk-boot/jdk/src/solaris/classes:openjdk-boot/langtools/src/share/classes:openjdk-boot/corba/src/share/classes' \
- -bootclasspath "\'\'" @rt-source-files
- pushd rt
- zip -qur ../bootstrap/jdk1.6.0/jre/lib/rt.jar *
- popd
- # clean up
- rm -f rt-source-files
- rm -rf rt
- # Build it
- pushd openjdk-boot
- cp -a ../generated generated.build
- chmod u+rwx generated.build
- export ALT_DROPS_DIR=$PWD/../drops
- export ALT_JDK_IMPORT_PATH="$PWD/../bootstrap/jdk1.6.0"
- # Set generic profile
- source jdk/make/jdk_generic_profile.sh
- make \
- ANT="/usr/bin/ant" \
- ALT_BOOTDIR="$PWD/../bootstrap/jdk1.6.0" \
- ICEDTEA_RT="$PWD/../bootstrap/jdk1.6.0/jre/lib/rt.jar" \
- HOTSPOT_BUILD_JOBS="$NUM_PROC" \
- NO_DOCS="true" \
- RHINO_JAR="$PWD/../rhino/rhino.jar" \
- GENSRCDIR="$PWD/generated.build" \
- DISABLE_NIMBUS="true" \
- XSLT="/usr/bin/xsltproc" \
- FT2_CFLAGS="-I/usr/include/freetype2 " \
- FT2_LIBS="-lfreetype " \
- %ifnarch %{jit_arches}
- LIBFFI_CFLAGS="`pkg-config --cflags libffi` " \
- LIBFFI_LIBS="-lffi " \
- ZERO_BUILD="true" \
- ZERO_LIBARCH="%{archbuild}" \
- ZERO_ARCHDEF="%{archdef}" \
- %ifarch ppc ppc64 s390 s390x
- ZERO_ENDIANNESS="big" \
- %else
- ZERO_ENDIANNESS="little" \
- %endif
- %endif
- %{nil}
- export JDK_TO_BUILD_WITH=$PWD/build/linux-%{archbuild}/j2sdk-image
- popd
- %else
- export JDK_TO_BUILD_WITH=/usr/lib/jvm/java-openjdk
- %endif
- pushd openjdk >& /dev/null
- export ALT_DROPS_DIR=$PWD/../drops
- export ALT_BOOTDIR="$JDK_TO_BUILD_WITH"
- # Save old umask as jdk_generic_profile overwrites it
- oldumask=`umask`
- # Set generic profile
- source jdk/make/jdk_generic_profile.sh
- # Restore old umask
- umask $oldumask
- make \
- ANT="/usr/bin/ant" \
- DISTRO_NAME="Vine Linux" \
- DISTRO_PACKAGE_VERSION="vine-%{release}-%{_arch}" \
- %ifarch %{jit_arches}
- JDK_UPDATE_VERSION=`printf "%02d" %{buildver}` \
- %else
- JDK_UPDATE_VERSION="03" \
- %endif
- MILESTONE="fcs" \
- HOTSPOT_BUILD_JOBS="$NUM_PROC" \
- STATIC_CXX="false" \
- RHINO_JAR="$PWD/../rhino/rhino.jar" \
- GENSRCDIR="$PWD/generated.build" \
- FT2_CFLAGS="-I/usr/include/freetype2 " \
- FT2_LIBS="-lfreetype " \
- DEBUG_CLASSFILES="true" \
- DEBUG_BINARIES="true" \
- STRIP_POLICY="no_strip" \
- ALT_STRIP_POLICY="no_strip" \
- %ifnarch %{jit_arches}
- LIBFFI_CFLAGS="`pkg-config --cflags libffi` " \
- LIBFFI_LIBS="-lffi " \
- ZERO_BUILD="true" \
- ZERO_LIBARCH="%{archbuild}" \
- ZERO_ARCHDEF="%{archdef}" \
- %ifarch ppc ppc64 s390 s390x
- ZERO_ENDIANNESS="big" \
- %else
- ZERO_ENDIANNESS="little" \
- %endif
- %endif
- %{debugbuild}
- popd >& /dev/null
- %ifarch %{jit_arches}
- chmod 644 $(pwd)/%{buildoutputdir}/j2sdk-image/lib/sa-jdi.jar
- %endif
- export JAVA_HOME=$(pwd)/%{buildoutputdir}/j2sdk-image
- # Build pulseaudio and install it to JDK build location
- %if %{with_pulseaudio}
- pushd pulseaudio
- make JAVA_HOME=$JAVA_HOME -f Makefile.pulseaudio
- cp -pPRf build/native/libpulse-java.so $JAVA_HOME/jre/lib/%{archinstall}/
- cp -pPRf build/pulse-java.jar $JAVA_HOME/jre/lib/ext/
- popd
- %endif
- # Build Java Access Bridge for GNOME.
- pushd java-access-bridge-%{accessver}
- patch -l -p1 < %{PATCH1}
- patch -l -p1 < %{PATCH2}
- OLD_PATH=$PATH
- export PATH=$JAVA_HOME/bin:$OLD_PATH
- ./configure
- make
- export PATH=$OLD_PATH
- cp -a bridge/accessibility.properties $JAVA_HOME/jre/lib
- chmod 644 gnome-java-bridge.jar
- cp -a gnome-java-bridge.jar $JAVA_HOME/jre/lib/ext
- popd
- # Copy tz.properties
- echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties
- %install
- rm -rf $RPM_BUILD_ROOT
- STRIP_KEEP_SYMTAB=libjvm*
- # Install symlink to default soundfont
- install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
- pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
- ln -s %{_datadir}/soundfonts/default.sf2
- popd
- pushd %{buildoutputdir}/j2sdk-image
- # Install main files.
- install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
- cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
- install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
- cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
- %if %{with_systemtap}
- # Install systemtap support files.
- install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset
- cp -a $RPM_BUILD_DIR/%{name}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
- install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
- pushd $RPM_BUILD_ROOT%{tapsetdir}
- RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
- ln -sf $RELATIVE/*.stp .
- popd
- %endif
- # Install cacerts symlink.
- rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/cacerts
- pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
- RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
- %{_jvmdir}/%{jredir}/lib/security)
- ln -sf $RELATIVE/cacerts .
- popd
- # Install extension symlinks.
- install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
- pushd $RPM_BUILD_ROOT%{jvmjardir}
- RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir})
- ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
- ln -sf $RELATIVE/jce.jar jce-%{version}.jar
- ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
- ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
- ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
- ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
- ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
- ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
- ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
- ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
- for jar in *-%{version}.jar
- do
- if [ x%{version} != x%{javaver} ]
- then
- ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
- fi
- ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
- done
- popd
- # Install JCE policy symlinks.
- install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
- # Install versionless symlinks.
- pushd $RPM_BUILD_ROOT%{_jvmdir}
- ln -sf %{jredir} %{jrelnk}
- ln -sf %{sdkdir} %{sdklnk}
- popd
- pushd $RPM_BUILD_ROOT%{_jvmjardir}
- ln -sf %{sdkdir} %{jrelnk}
- ln -sf %{sdkdir} %{sdklnk}
- popd
- # Remove javaws man page
- rm -f man/man1/javaws*
- # Install man pages.
- install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
- for manpage in man/man1/*
- do
- # Convert man pages to UTF8 encoding.
- iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
- mv -f $manpage.tmp $manpage
- install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
- $manpage .1)-%{name}.1
- done
- # Install demos and samples.
- cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
- mkdir -p sample/rmi
- mv bin/java-rmi.cgi sample/rmi
- cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
- popd
- # Install nss.cfg
- install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/
- # Install Javadoc documentation.
- install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
- cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name}
- # Install icons and menu entries.
- for s in 16 24 32 48 ; do
- install -D -p -m 644 \
- openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
- done
- # Install desktop files.
- install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
- for e in jconsole policytool ; do
- desktop-file-install --vendor=%{name} --mode=644 \
- --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
- done
- # Find JRE directories.
- find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
- | grep -v jre/lib/security \
- | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
- > %{name}.files
- # Find JRE files.
- find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
- | grep -v jre/lib/security \
- | sed 's|'$RPM_BUILD_ROOT'||' \
- >> %{name}.files
- # Find demo directories.
- find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
- $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \
- | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
- > %{name}-demo.files
- # FIXME: remove SONAME entries from demo DSOs. See
- # https://bugzilla.redhat.com/show_bug.cgi?id=436497
- # Find non-documentation demo files.
- find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
- $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
- -type f -o -type l | sort \
- | grep -v README \
- | sed 's|'$RPM_BUILD_ROOT'||' \
- >> %{name}-demo.files
- # Find documentation demo files.
- find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
- $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
- -type f -o -type l | sort \
- | grep README \
- | sed 's|'$RPM_BUILD_ROOT'||' \
- | sed 's|^|%doc |' \
- >> %{name}-demo.files
- # FIXME: identical binaries are copied, not linked. This needs to be
- # fixed upstream.
- %post
- ext=.gz
- alternatives \
- --install %{_bindir}/java java %{jrebindir}/java %{priority} \
- --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \
- --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
- --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
- --slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
- --slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \
- --slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
- --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
- --slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
- --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
- --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
- --slave %{_mandir}/man1/java.1$ext java.1$ext \
- %{_mandir}/man1/java-%{name}.1$ext \
- --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
- %{_mandir}/man1/keytool-%{name}.1$ext \
- --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
- %{_mandir}/man1/orbd-%{name}.1$ext \
- --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
- %{_mandir}/man1/pack200-%{name}.1$ext \
- --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
- %{_mandir}/man1/rmid-%{name}.1$ext \
- --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
- %{_mandir}/man1/rmiregistry-%{name}.1$ext \
- --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
- %{_mandir}/man1/servertool-%{name}.1$ext \
- --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
- %{_mandir}/man1/tnameserv-%{name}.1$ext \
- --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
- %{_mandir}/man1/unpack200-%{name}.1$ext
- alternatives \
- --install %{_jvmdir}/jre-%{origin} \
- jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
- --slave %{_jvmjardir}/jre-%{origin} \
- jre_%{origin}_exports %{_jvmjardir}/%{jrelnk}
- alternatives \
- --install %{_jvmdir}/jre-%{javaver} \
- jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
- --slave %{_jvmjardir}/jre-%{javaver} \
- jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
- update-desktop-database %{_datadir}/applications &> /dev/null || :
- touch --no-create %{_datadir}/icons/hicolor
- if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
- %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
- fi
- exit 0
- %postun
- if [ $1 -eq 0 ]
- then
- alternatives --remove java %{jrebindir}/java
- alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk}
- alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
- fi
- update-desktop-database %{_datadir}/applications &> /dev/null || :
- touch --no-create %{_datadir}/icons/hicolor
- if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
- %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
- fi
- exit 0
- %post devel
- ext=.gz
- alternatives \
- --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
- --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \
- --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \
- --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
- --slave %{_bindir}/apt apt %{sdkbindir}/apt \
- --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
- --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \
- --slave %{_bindir}/jar jar %{sdkbindir}/jar \
- --slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \
- --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \
- --slave %{_bindir}/javah javah %{sdkbindir}/javah \
- --slave %{_bindir}/javap javap %{sdkbindir}/javap \
- --slave %{_bindir}/jcmd jcmd %{sdkbindir}/jcmd \
- --slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \
- --slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \
- --slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \
- --slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \
- --slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \
- --slave %{_bindir}/jps jps %{sdkbindir}/jps \
- --slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \
- --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \
- --slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \
- --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \
- --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \
- --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \
- --slave %{_bindir}/policytool policytool %{sdkbindir}/policytool \
- --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \
- --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \
- --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \
- --slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \
- --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \
- --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \
- --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \
- %{_mandir}/man1/appletviewer-%{name}.1$ext \
- --slave %{_mandir}/man1/apt.1$ext apt.1$ext \
- %{_mandir}/man1/apt-%{name}.1$ext \
- --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
- %{_mandir}/man1/extcheck-%{name}.1$ext \
- --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
- %{_mandir}/man1/jar-%{name}.1$ext \
- --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
- %{_mandir}/man1/jarsigner-%{name}.1$ext \
- --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
- %{_mandir}/man1/javac-%{name}.1$ext \
- --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
- %{_mandir}/man1/javadoc-%{name}.1$ext \
- --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
- %{_mandir}/man1/javah-%{name}.1$ext \
- --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
- %{_mandir}/man1/javap-%{name}.1$ext \
- --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
- %{_mandir}/man1/jconsole-%{name}.1$ext \
- --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
- %{_mandir}/man1/jdb-%{name}.1$ext \
- --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
- %{_mandir}/man1/jhat-%{name}.1$ext \
- --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
- %{_mandir}/man1/jinfo-%{name}.1$ext \
- --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
- %{_mandir}/man1/jmap-%{name}.1$ext \
- --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
- %{_mandir}/man1/jps-%{name}.1$ext \
- --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
- %{_mandir}/man1/jrunscript-%{name}.1$ext \
- --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
- %{_mandir}/man1/jsadebugd-%{name}.1$ext \
- --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
- %{_mandir}/man1/jstack-%{name}.1$ext \
- --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
- %{_mandir}/man1/jstat-%{name}.1$ext \
- --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
- %{_mandir}/man1/jstatd-%{name}.1$ext \
- --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
- %{_mandir}/man1/native2ascii-%{name}.1$ext \
- --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
- %{_mandir}/man1/policytool-%{name}.1$ext \
- --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
- %{_mandir}/man1/rmic-%{name}.1$ext \
- --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
- %{_mandir}/man1/schemagen-%{name}.1$ext \
- --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
- %{_mandir}/man1/serialver-%{name}.1$ext \
- --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
- %{_mandir}/man1/wsgen-%{name}.1$ext \
- --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
- %{_mandir}/man1/wsimport-%{name}.1$ext \
- --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
- %{_mandir}/man1/xjc-%{name}.1$ext
- alternatives \
- --install %{_jvmdir}/java-%{origin} \
- java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
- --slave %{_jvmjardir}/java-%{origin} \
- java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk}
- alternatives \
- --install %{_jvmdir}/java-%{javaver} \
- java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
- --slave %{_jvmjardir}/java-%{javaver} \
- java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
- exit 0
- %postun devel
- if [ $1 -eq 0 ]
- then
- alternatives --remove javac %{sdkbindir}/javac
- alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk}
- alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk}
- fi
- exit 0
- %post javadoc
- alternatives \
- --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \
- %{priority}
- exit 0
- %postun javadoc
- if [ $1 -eq 0 ]
- then
- alternatives --remove javadocdir %{_javadocdir}/%{name}/api
- fi
- exit 0
- %files -f %{name}.files
- %defattr(-,root,root,-)
- %doc %{buildoutputdir}/j2sdk-image/jre/ASSEMBLY_EXCEPTION
- %doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
- %doc %{buildoutputdir}/j2sdk-image/jre/THIRD_PARTY_README
- %dir %{_jvmdir}/%{sdkdir}
- %{_jvmdir}/%{jrelnk}
- %{_jvmjardir}/%{jrelnk}
- %{_jvmprivdir}/*
- %{jvmjardir}
- %dir %{_jvmdir}/%{jredir}/lib/security
- %{_jvmdir}/%{jredir}/lib/security/cacerts
- %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
- %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
- %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
- %{_mandir}/man1/java-%{name}.1*
- %{_mandir}/man1/keytool-%{name}.1*
- %{_mandir}/man1/orbd-%{name}.1*
- %{_mandir}/man1/pack200-%{name}.1*
- %{_mandir}/man1/rmid-%{name}.1*
- %{_mandir}/man1/rmiregistry-%{name}.1*
- %{_mandir}/man1/servertool-%{name}.1*
- %{_mandir}/man1/tnameserv-%{name}.1*
- %{_mandir}/man1/unpack200-%{name}.1*
- %{_jvmdir}/%{jredir}/lib/security/nss.cfg
- %{_jvmdir}/%{jredir}/lib/audio/
- %files devel
- %defattr(-,root,root,-)
- %doc %{buildoutputdir}/j2sdk-image/ASSEMBLY_EXCEPTION
- %doc %{buildoutputdir}/j2sdk-image/LICENSE
- %doc %{buildoutputdir}/j2sdk-image/THIRD_PARTY_README
- %dir %{_jvmdir}/%{sdkdir}/bin
- %dir %{_jvmdir}/%{sdkdir}/include
- %dir %{_jvmdir}/%{sdkdir}/lib
- %if %{with_systemtap}
- %dir %{_jvmdir}/%{sdkdir}/tapset
- %endif
- %{_jvmdir}/%{sdkdir}/bin/*
- %{_jvmdir}/%{sdkdir}/include/*
- %{_jvmdir}/%{sdkdir}/lib/*
- %if %{with_systemtap}
- %{_jvmdir}/%{sdkdir}/tapset/*.stp
- %endif
- %{_jvmdir}/%{sdklnk}
- %{_jvmjardir}/%{sdklnk}
- %{_datadir}/applications/*jconsole.desktop
- %{_datadir}/applications/*policytool.desktop
- %{_mandir}/man1/appletviewer-%{name}.1*
- %{_mandir}/man1/apt-%{name}.1*
- %{_mandir}/man1/extcheck-%{name}.1*
- %{_mandir}/man1/idlj-%{name}.1*
- %{_mandir}/man1/jar-%{name}.1*
- %{_mandir}/man1/jarsigner-%{name}.1*
- %{_mandir}/man1/javac-%{name}.1*
- %{_mandir}/man1/javadoc-%{name}.1*
- %{_mandir}/man1/javah-%{name}.1*
- %{_mandir}/man1/javap-%{name}.1*
- %{_mandir}/man1/jconsole-%{name}.1*
- %ifarch %{jit_arches} # Only in u4+
- %{_mandir}/man1/jcmd-%{name}.1*
- %endif
- %{_mandir}/man1/jdb-%{name}.1*
- %{_mandir}/man1/jhat-%{name}.1*
- %{_mandir}/man1/jinfo-%{name}.1*
- %{_mandir}/man1/jmap-%{name}.1*
- %{_mandir}/man1/jps-%{name}.1*
- %{_mandir}/man1/jrunscript-%{name}.1*
- %{_mandir}/man1/jsadebugd-%{name}.1*
- %{_mandir}/man1/jstack-%{name}.1*
- %{_mandir}/man1/jstat-%{name}.1*
- %{_mandir}/man1/jstatd-%{name}.1*
- %{_mandir}/man1/native2ascii-%{name}.1*
- %{_mandir}/man1/policytool-%{name}.1*
- %{_mandir}/man1/rmic-%{name}.1*
- %{_mandir}/man1/schemagen-%{name}.1*
- %{_mandir}/man1/serialver-%{name}.1*
- %{_mandir}/man1/wsgen-%{name}.1*
- %{_mandir}/man1/wsimport-%{name}.1*
- %{_mandir}/man1/xjc-%{name}.1*
- %if %{with_systemtap}
- %{tapsetroot}
- %endif
- %files demo -f %{name}-demo.files
- %defattr(-,root,root,-)
- %doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
- %files src
- %defattr(-,root,root,-)
- %doc README.src
- %{_jvmdir}/%{sdkdir}/src.zip
- %files javadoc
- %defattr(-,root,root,-)
- %doc %{_javadocdir}/%{name}
- %doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
- %changelog
- * Tue Mar 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.9-2.3.8.1
- - update to icedtea7 2.3.8
- * Sun Jul 22 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.5-2.2.1.1
- - initial build for Vine Linux
- * Mon Jul 09 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.5-2.2.1.fc18.9
- - Added support to build older (2.1.1/u3/hs22) version on non-jit (secondary)
- arches
- * Wed Jun 13 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.8
- - Fixed broken provides sections
- - Changed java-devel requirement to be self's devel (java-1.7.0-openjdk-devel)
- * Mon Jun 11 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.7
- - Used newly prepared tarball with security fixes
- - Bump to icedtea7-forest-2.2.1
- - _mandir/man1/jcmd-name.1 added to alternatives
- - Updated rhino.patch
- - Modified partially upstreamed patch302 - systemtap.patch
- - Temporarly disabled patch102 - java-1.7.0-openjdk-size_t.patch
- - Removed already upstreamed patches 104,107,108,301
- - java-1.7.0-openjdk-arm-ftbfs.patch
- - java-1.7.0-openjdk-system-zlib.patch
- - java-1.7.0-openjdk-remove-mimpure-opt.patch
- - systemtap-alloc-size-workaround.patch
- - patch 105 (java-1.7.0-openjdk-ppc-zero-jdk.patch) have become 104
- - patch 106 (java-1.7.0-openjdk-ppc-zero-hotspot.patch) have become 105
- - Added build requires zip, which was untill now dependence of dependence
- - Access gnome brridge jar forced to be 644
- * Fri May 25 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.7
- - Miscellaneous fixes brought in from RHEL branch
- - Resolves: rhbz#825255: Added ALT_STRIP_POLICY so that debug info is not stripped
- - Moved Patch #7 (usage of system zlib) to #107
- * Tue May 01 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.6
- - Removed VisualVM requirements
- - Obsoleted java-1.6.0-openjdk*
- - Added BR for zip
- * Mon Mar 26 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.5
- - Added SystemTap fixes by Mark Wielaard
- * Sat Mar 24 2012 Dan Horák <dan[at]danny.cz>> - 1.7.0.3-2.1.fc17.4
- - update paths in the ppc patches, add missing snippet
- * Wed Mar 21 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.3
- - Reverted fix for rhbz#740762
- - Fixed PPC/PPC64 build (rh804136) -- added patches from Chris Phillips
- - Moved OpenJDK specific patches to 1XX series
- * Mon Mar 12 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.2
- - Resolved rhbz#740762: java.library.path is missing some paths
- - Unified spec file for x86, x86_64, ARM and s390
- - Integrated changes from Dan Horák <dhorak@redhat.com> for Zero/s390
- - Integrated changes from Chris Phillips <chphilli@redhat.com> for Zero/ARM
- * Fri Feb 24 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.1
- - Added flag so that debuginfo is built into classfiles (rhbz# 796400)
- - Updated rhino.patch to build scripting support (rhbz# 796398)
- * Tue Feb 14 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1
- - Updated to OpenJDK7u3/IcedTea7 2.1
- - Security fixes:
- - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
- - S7082299, CVE-2011-3571: AtomicReferenceArray insufficient array type check
- - S7110687, CVE-2012-0503: Unrestricted use of TimeZone.setDefault
- - S7110700, CVE-2012-0505: Incomplete info in the deserialization exception
- - S7110683, CVE-2012-0502: KeyboardFocusManager focus stealing
- - S7088367, CVE-2011-3563: JavaSound incorrect bounds check
- - S7126960, CVE-2011-5035: Add property to limit number of request headers to the HTTP Server
- - S7118283, CVE-2012-0501: Off-by-one bug in ZIP reading code
- - S7110704, CVE-2012-0506: CORBA fix
- - Add patch to fix compilation with GCC 4.7
- * Tue Nov 15 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.3
- - Added patch to fix bug in jdk_generic_profile.sh
- - Compile with generic profile to use system libraries
- - Made remove-intree-libraries.sh more robust
- - Added lcms requirement
- - Added patch to fix glibc name clash
- - Updated java version to include -icedtea
- * Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.2
- - Added missing changelog entry
- * Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.1
- - Updated to IcedTea 2.0 tag in the IcedTea OpenJDK7 forest
- - Removed obsoleted patches
- - Added system timezone support
- - Revamp version/release naming scheme to make it proper
- - Security fixes
- - S7000600, CVE-2011-3547: InputStream skip() information leak
- - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor
- - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow
- - S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager
- - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine
- - S7055902, CVE-2011-3521: IIOP deserialization code execution
- - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks
- - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)
- - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer
- - S7077466, CVE-2011-3556: RMI DGC server remote code execution
- - S7083012, CVE-2011-3557: RMI registry privileged code execution
- - S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection
- * Mon Aug 29 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110823.1
- - Provide a "7" version of items to enfore F-16 policy of no Java 7 builds
- - Resolves: rhbz#728706, patch from Ville Skyttä <ville.skytta at iki dot fi>
- * Fri Aug 05 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110803
- - Use a newer snapshot and forest on classpath.org rather than on openjdk.net
- - Added in-tree-removal script to remove libraries that we manually link
- - Updated snapshots
- - Added DISTRO_NAME and FreeType header/lib locations
- - Removed application of patch100 and patch 113 (now in forest)
- * Wed Aug 03 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110729
- - Initial build from java-1.6.0-openjdk RPM
|