diff --git a/eclipse.spec b/eclipse.spec index 8af95e9..18dafbd 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -51,7 +51,7 @@ Source11: %{name}-fedora-splash-3.2rc7.png Source11: %{name}-redhat-splash.png %endif Source16: %{name}-copy-platform.sh -Source17: %{name}-efj-wrapper.sh +Source17: efj.sh.in Source19: %{name}-filenamepatterns.txt Source20: ecj.sh.in Source21: rebuild-sdk-features @@ -78,17 +78,12 @@ Patch18: %{name}-swttools.patch # https://bugs.eclipse.org/bugs/show_bug.cgi?id=91770 #Patch20: %{name}-gnuformatterjdt.patch #Patch21: %{name}-gnuformatterjdtui.patch -# JPackage []s in names of symlinks ... -# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=162177 -Patch34: %{name}-bz162177.patch -Patch35: %{name}-genjavadocoutput.patch # https://bugs.eclipse.org/bugs/show_bug.cgi?id=114001 Patch38: %{name}-helpindexbuilder.patch Patch40: %{name}-usebuiltlauncher.patch ## Build cairo native libs #Patch43: %{name}-libswt-cairo1.0-3.patch -# Again, I hate patches with spaces in the filenames -#Patch45: %{name}-webapp-jasperclasspath.patch +Patch45: %{name}-webapp-jasper-classpath.patch Patch46: %{name}-libswt-xpcomgcc4.patch # https://bugs.eclipse.org/bugs/show_bug.cgi?id=79592 # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=168726 @@ -99,9 +94,6 @@ Patch48: %{name}-javadoclinks.patch Patch52: %{name}-libswt-mozilla2.patch # Always generate debug info when building RPMs (Andrew Haley) Patch49: %{name}-ecj-rpmdebuginfo.patch -# Add support for ppc64: -# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172172 -Patch51: %{name}-ppc64.patch # generic releng plugins that can be used to build plugins # see this thread for deails: # https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html @@ -126,6 +118,9 @@ Patch24: %{name}-fileinitializer.patch Patch54: %{name}-swt-rm-ON_TOP.patch # https://bugs.eclipse.org/bugs/show_bug.cgi?id=90630 Patch22: %{name}-updatehomedir.patch +# JPackage []s in names of symlinks ... +# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=162177 +Patch34: %{name}-bz162177.patch # these patches should be in 3.2 final Patch100: customBuildCallbacks.xml-add-pre.gather.bin.parts.patch @@ -389,29 +384,19 @@ popd pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library %patch0 -p0 %patch52 -p0 -%if %{gcj_support} -#%patch14 -p0 -%endif popd %patch2 -p0 %patch4 -p0 %patch5 -p0 -%if %{gcj_support} -#%patch13 -p0 -%endif pushd plugins/org.eclipse.swt.gtk.linux.x86_64 %patch18 -p0 popd -#pushd plugins/org.eclipse.jdt.core -#%patch20 -p0 -#popd -#pushd plugins/org.eclipse.jdt.ui -#%patch21 -p0 -#popd %patch22 -p0 pushd plugins/org.eclipse.core.runtime %patch24 -p0 popd + +# tomcat patches pushd plugins/org.eclipse.tomcat #%patch28 -p0 #%patch29 -p0 @@ -427,23 +412,20 @@ popd pushd plugins/org.eclipse.jdt.core %patch34 -p0 popd -%patch35 -p0 %patch38 -p0 %patch40 -p0 #%patch43 -pushd plugins/org.eclipse.help.webapp -#%patch45 -popd +%patch45 pushd plugins/org.eclipse.swt/Eclipse\ SWT\ Mozilla/common/library %patch46 popd # Because the launcher source is zipped up, we need to unzip, patch, and re-pack mkdir launchertmp -unzip -d launchertmp plugins/org.eclipse.platform/launchersrc.zip +unzip -qq -d launchertmp plugins/org.eclipse.platform/launchersrc.zip pushd launchertmp %patch47 -p1 -zip -9 -r ../launchersrc.zip * +zip -q -9 -r ../launchersrc.zip * popd mv launchersrc.zip plugins/org.eclipse.platform rm -rf launchertmp @@ -460,7 +442,6 @@ sed --in-place "s:/usr/share/:%{_datadir}/:g" \ plugins/org.eclipse.platform.doc.isv/platformOptions.txt %patch49 -p0 pwd -#TODO FIXME %patch51 -p0 pushd plugins/org.eclipse.pde.build %patch53 @@ -478,6 +459,10 @@ pushd plugins/org.eclipse.platform cp %{SOURCE11} splash.bmp popd +# FIXME this should be patched upstream with a flag to turn on and off +# all output should be directed to stdout +find -type f -name \*.xml -exec sed --in-place -r "s/output=\".*(txt|log).*\"//g" "{}" \; + # Remove existing .sos find -name \*.so | xargs rm @@ -640,25 +625,30 @@ pushd plugins/org.eclipse.swt/Eclipse\ SWT\ PI/gtk/library sed --in-place "s:/usr/lib/:%{_libdir}/:g" build.sh sed --in-place "s:-L\$(AWT_LIB_PATH):-L%{_jvmdir}/java/jre/lib/%{_arch}:" make_linux.mak popd -exit 1 -# nasty hack to get suppport for pcc64, s390 and s390x -# we're basically just replacing the arch + +# FIXME: figure out what's going on with build.index on ppc64 and s390x +%ifarch ppc64 s390x + find plugins -name \*.xml -exec sed --in-place "s/\(\)/<\!-- \1 -->/" "{}" \; +%endif + +# nasty hack to get suppport for pcc64 and s390(x) +# move all of the ia64 directories to ppc64 or s390(x) dirs and replace the ia64 # strings with ppc64 or s390(x) %ifarch ppc64 s390 s390x # there is only partial support for ppc64 in 3.2 so we have to remove this # partial support to get the replacemnt hack to work -# find -name \*ppc64\* | xargs rm -r + find -name \*ppc64\* | xargs rm -r # remove remove ppc64 support from features/org.eclipse.platform.source/feature.xml # replace ppc64 with a fake arch (ppc128) so we don't have duplicate ant targets -# find -name \*.xml -exec sed --in-place "s/rootFileslinux_gtk_ppc64/rootFileslinux_gtk_ppc128/g" "{}" \; + find -type f -name \*.xml -exec sed --in-place "s/\(rootFileslinux_gtk_\)ppc64/\1ppc128/g" "{}" \; # remove org.eclipse.platform.source.linux.gtk.ppc64,3.2.0.v20060602-0010-gszCh-8eOaU1uKq -# sed --in-place "s/,.\{38\}ppc64.*macosx/,org.eclipse.platform.source.macosx/g" features/org.eclipse.platform.source/build.xml + sed --in-place "s/,.\{38\}ppc64.*macosx/,org.eclipse.platform.source.macosx/g" features/org.eclipse.platform.source/build.xml # replace final occurances with an existing arch -# sed --in-place "s/ppc64/x86_64/g" features/org.eclipse.platform.source/build.xml + sed --in-place "s/ppc64/x86_64/g" features/org.eclipse.platform.source/build.xml # remove remove ppc64 support from features/org.eclipse.platform.source/feature.xml -# mv features/org.eclipse.platform.source/feature.xml features/org.eclipse.platform.source/feature.xml.orig -# grep -v ppc64 features/org.eclipse.platform.source/feature.xml.orig > features/org.eclipse.platform.source/feature.xml + mv features/org.eclipse.platform.source/feature.xml features/org.eclipse.platform.source/feature.xml.orig + grep -v ppc64 features/org.eclipse.platform.source/feature.xml.orig > features/org.eclipse.platform.source/feature.xml # finally the replacement hack for f in $(find -name \*ia64\* | grep -v motif | grep -v ia64_32); do @@ -669,6 +659,7 @@ exit 1 find -type f -exec sed --in-place "s/@eye-eh-64_32@/ia64_32/g" "{}" \; %endif + # make sure there are no jars left JARS="" for j in $(find -name \*.jar); do @@ -678,7 +669,7 @@ for j in $(find -name \*.jar); do done if [ ! -z "$JARS" ]; then echo "These jar should be deleted and syslinked to system jars: $JARS" - #FIXME anable exit 1 + #FIXME: enable exit 1 fi %build @@ -795,6 +786,21 @@ ant \ #./copyallsrc $src_root/org.eclipse.swt/Eclipse\ SWT/gtk/org #popd +# FIXME: document this properly +# re-pack all zips. we need to do this to work around the multilib problem +for zip in $(find -type f -name \*.zip); do + mkdir $zip-repack + pushd $zip-repack + zipfile=../$(echo $zip | sed "s:./.*/::") + unzip -qq $zipfile + rm $zipfile + find -type f -exec touch --date=1/1/1970 "{}" \; + zip -q -X -9 -r $zipfile . + popd + rm -r $zip-repack +done + + %install rm -rf $RPM_BUILD_ROOT @@ -889,17 +895,20 @@ popd ### begin libswt-gtk2 symlinks pushd $RPM_BUILD_ROOT%{_libdir} for base in awt-gtk atk-gtk cairo-gtk mozilla-gtk gnome-gtk gtk pi-gtk glx-gtk; do - ln -s %{_libdir}/%{name}/libswt-${base}-$SWT_VERSION.so \ - libswt-${base}-$SWT_VERSION.so + ln -s %{_libdir}/%{name}/libswt-${base}-$SWT_VERSION.so libswt-${base}-$SWT_VERSION.so done popd install -d -m 755 $RPM_BUILD_ROOT%{_javadir} pushd $RPM_BUILD_ROOT%{_javadir} -ln -s %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_%{eclipse_majmin}.%{eclipse_micro}.v$SWT_VERSION.jar swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar -ln -s %{_javadir}/swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.v$SWT_VERSION.jar swt-gtk-%{eclipse-majmin}.jar +ln -s %{_datadir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_%{eclipse_majmin}.%{eclipse_micro}.v$SWT_VERSION*.jar swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar +ln -s swt-gtk-%{eclipse_majmin}.%{eclipse_micro}.jar swt-gtk-%{eclipse_majmin}.jar popd ### end libswt-gtk2 symlinks +pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/ +ln -s org.eclipse.pde.build_* org.eclipse.pde.build +popd + mkdir -p $RPM_BUILD_ROOT%{_bindir} pushd $RPM_BUILD_ROOT%{_bindir} ln -s %{_datadir}/%{name}/%{name} @@ -1101,15 +1110,6 @@ ln -s %{_datadir}/%{name}/plugins/org.eclipse.jdt.core_%{eclipse_majmin}.%{eclip ln -s %{_datadir}/java/eclipse-ecj.jar \ $RPM_BUILD_ROOT%{_datadir}/java/jdtcore.jar -%if %{gcj_support} -%ifarch ia64 -# FIXME: auto get version number; tweak aot-compile-rpm to fix this -aot-compile-rpm --exclude %{_datadir}/%{name}/plugins/org.eclipse.team.cvs.core_3.2.0.I200606011710.jar -%else -aot-compile-rpm -%endif -%endif - # FIXME: due to aot-compile-rpm smarts, the required resource bundles aren't # being compiled so this truly native ecj binary isn't possible #%if %{native_ecj} @@ -1326,7 +1326,6 @@ fi %{_datadir}/%{name}/plugins/org.eclipse.jdt.core.manipulation_* %{_datadir}/%{name}/plugins/org.eclipse.jdt.debug.ui_* %{_datadir}/%{name}/plugins/org.eclipse.jdt.debug_* -%{_datadir}/%{name}/plugins/org.eclipse.jdt.doc.isv_* %{_datadir}/%{name}/plugins/org.eclipse.jdt.doc.user_* %{_datadir}/%{name}/plugins/org.eclipse.jdt.junit_* %{_datadir}/%{name}/plugins/org.eclipse.jdt.junit.runtime_* @@ -1354,7 +1353,7 @@ fi %files pde %defattr(-,root,root) -%{_datadir}/%{name}/plugins/org.eclipse.pde.build_* +%{_datadir}/%{name}/plugins/org.eclipse.pde.build* %{_datadir}/%{name}/plugins/org.eclipse.pde.core_* %{_datadir}/%{name}/plugins/org.eclipse.pde.doc.user_* %{_datadir}/%{name}/plugins/org.eclipse.pde.junit.runtime_* @@ -1367,6 +1366,7 @@ fi %{_libdir}/gcj/%{name}/pdebuild.jar* %{_libdir}/gcj/%{name}/pdebuild-ant.jar* %{_libdir}/gcj/%{name}/org.eclipse.pde.core_* +%{_libdir}/gcj/%{name}/org.eclipse.pde.junit.runtime_* %{_libdir}/gcj/%{name}/org.eclipse.pde.ui_* %{_libdir}/gcj/%{name}/org.eclipse.pde_* %endif @@ -1444,7 +1444,6 @@ fi %{_datadir}/%{name}/plugins/org.eclipse.osgi.services_* %{_datadir}/%{name}/plugins/org.eclipse.osgi.util_* %{_datadir}/%{name}/plugins/org.eclipse.osgi_* -%{_datadir}/%{name}/plugins/org.eclipse.platform.doc.isv_* %{_datadir}/%{name}/plugins/org.eclipse.platform.doc.user_* %{_datadir}/%{name}/plugins/org.eclipse.platform_* %{_datadir}/%{name}/plugins/org.eclipse.search_* @@ -1553,8 +1552,11 @@ fi %{_libdir}/gcj/%{name}/org.eclipse.ui.forms_* %{_libdir}/gcj/%{name}/org.eclipse.ui.ide_* %{_libdir}/gcj/%{name}/org.eclipse.ui.intro_* +%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator_* +%{_libdir}/gcj/%{name}/org.eclipse.ui.navigator.resources_* %{_libdir}/gcj/%{name}/org.eclipse.ui.presentations.r21_* %{_libdir}/gcj/%{name}/org.eclipse.ui.views_* +%{_libdir}/gcj/%{name}/org.eclipse.ui.views.properties.tabbed_* %{_libdir}/gcj/%{name}/org.eclipse.ui.workbench_* %{_libdir}/gcj/%{name}/org.eclipse.ui.workbench.texteditor_* %{_libdir}/gcj/%{name}/compatibility.jar* @@ -1572,6 +1574,7 @@ fi %{_libdir}/gcj/%{name}/org.eclipse.ltk.core.refactoring_* %{_libdir}/gcj/%{name}/platform.jar* %{_libdir}/gcj/%{name}/org.eclipse.team.core_* +%{_libdir}/gcj/%{name}/org.eclipse.team.cvs.ssh2_* # FIXME: work around aot-compile-rpm problem %ifnarch ia64 %{_libdir}/gcj/%{name}/org.eclipse.team.cvs.core_* @@ -1583,7 +1586,31 @@ fi %{_libdir}/gcj/%{name}/org.eclipse.text_* %{_libdir}/gcj/%{name}/com.ibm.icu_* # FIXME: take this out when the tomcat patch is updated -%{_libdir}/gcj/%{name}/* +%{_libdir}/gcj/%{name}/ant-apache-bsf.jar* +%{_libdir}/gcj/%{name}/bootstrap.jar* +%{_libdir}/gcj/%{name}/catalina.jar* +%{_libdir}/gcj/%{name}/commons-beanutils.jar* +%{_libdir}/gcj/%{name}/commons-collections.jar* +%{_libdir}/gcj/%{name}/commons-digester.jar* +%{_libdir}/gcj/%{name}/commons-logging-api.jar* +%{_libdir}/gcj/%{name}/commons-modeler.jar* +%{_libdir}/gcj/%{name}/jakarta-regexp-1.3.jar* +%{_libdir}/gcj/%{name}/jasper-compiler.jar* +%{_libdir}/gcj/%{name}/jasper-runtime.jar* +%{_libdir}/gcj/%{name}/jsp.jar* +%{_libdir}/gcj/%{name}/mx4j-jmx.jar* +%{_libdir}/gcj/%{name}/naming-common.jar* +%{_libdir}/gcj/%{name}/naming-factory.jar* +%{_libdir}/gcj/%{name}/naming-resources.jar* +%{_libdir}/gcj/%{name}/parser.jar* +%{_libdir}/gcj/%{name}/servlet.jar* +%{_libdir}/gcj/%{name}/servlets-common.jar* +%{_libdir}/gcj/%{name}/servlets-default.jar* +%{_libdir}/gcj/%{name}/servlets-invoker.jar* +%{_libdir}/gcj/%{name}/servlets-manager.jar* +%{_libdir}/gcj/%{name}/tomcat-coyote.jar* +%{_libdir}/gcj/%{name}/tomcat-http11.jar* +%{_libdir}/gcj/%{name}/tomcat-util.jar* %endif %files platform-devel @@ -1592,11 +1619,21 @@ fi %{_datadir}/%{name}/plugins/org.eclipse.platform.source_* %{_datadir}/%{name}/features/org.eclipse.platform.source_* %{_datadir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.* +%if %{gcj_support} +# Native bits +%{_libdir}/gcj/%{name}/org.eclipse.platform.doc.isv_* +%endif %changelog * Wed Jun 07 2006 Ben Konrath 3.2.0-0jpp_0fc.3.2RC7.3 -- Enable s390 and s390x. -- Add small snippet to check for jars at the end of prep. +- Enable ppc64, s390 and s390x. +- Add check for jars at the end of prep. +- Fix patch for rh #162177 (square brackets patch). +- Fix swt symlinks rh #194500. +- Add versionless pde.build symlink. +- Rename efj-wrapper.sh to efj.sh.in. +- Re-pack all zips after the build to ensure that zips have the same md5sum + across arch re-builds. This is needed to avoid multilib conflicts. * Wed Jun 07 2006 Andrew Overholt 3.2.0-0jpp_0fc.3.2RC7.2 - Fix eclipse-ecj.jar symlink to include qualifier. diff --git a/efj.sh.in b/efj.sh.in new file mode 100644 index 0000000..a0e37f6 --- /dev/null +++ b/efj.sh.in @@ -0,0 +1,5 @@ +#!/bin/sh + +java -cp startup.jar org.eclipse.core.launcher.Main \ + -application org.eclipse.jdt.core.JavaCodeFormatter \ + ${1+"$@"}