diff --git a/eclipse-copy-JDT.sh b/eclipse-copy-JDT.sh new file mode 100644 index 0000000..e12a15a --- /dev/null +++ b/eclipse-copy-JDT.sh @@ -0,0 +1,147 @@ +#!/bin/sh + +baseDir=$1 + +mkdir -p features plugins +cp -rp $baseDir/about* . +cp -rp $baseDir/configuration/ . +cp -rp $baseDir/eclipse{,.ini} . +cp -rp $baseDir/.eclipseproduct . +cp -rp $baseDir/epl-v10.html . +cp -rp $baseDir/notice.html . +cp -rp $baseDir/readme/ . +cp -rp $baseDir/features/org.eclipse.platform_* features +cp -rp $baseDir/features/org.eclipse.help_* features +cp -rp $baseDir/features/org.eclipse.equinox.p2.user.ui_* features +cp -rp $baseDir/plugins/*linux* plugins +cp -rp $baseDir/plugins/com.jcraft.jsch_* plugins +cp -rp $baseDir/plugins/org.eclipse.compare_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.boot_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.filebuffers_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.filesystem_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.net_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.resources_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.resources.compatibility_* plugins +cp -rp $baseDir/plugins/org.eclipse.osgi.util_* plugins +cp -rp $baseDir/plugins/org.eclipse.debug.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.debug.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.appserver_* plugins +cp -rp $baseDir/plugins/org.eclipse.ltk.core.refactoring_* plugins +cp -rp $baseDir/plugins/org.eclipse.ltk.ui.refactoring_* plugins +cp -rp $baseDir/plugins/org.eclipse.platform_* plugins +cp -rp $baseDir/plugins/org.eclipse.platform.doc.user_* plugins +cp -rp $baseDir/plugins/org.eclipse.search_* plugins +cp -rp $baseDir/plugins/org.eclipse.team.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.team.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.text_* plugins +cp -rp $baseDir/plugins/org.eclipse.jface.text_* plugins +cp -rp $baseDir/plugins/org.eclipse.jsch.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.jsch.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.console_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.presentations.r21_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.intro_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.intro.universal_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.cheatsheets_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.browser_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.navigator_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.navigator.resources_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.net_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.workbench.texteditor_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.views_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.editors_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.externaltools_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.ide_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.ide.application_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.scheduler_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.workbench.compatibility_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.views.properties.tabbed_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.security_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.security.ui_* plugins +cp -rp $baseDir/features/org.eclipse.rcp_* features +cp -rp $baseDir/plugins/com.ibm.icu_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.commands_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.databinding_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.databinding.beans_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.jobs_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.expressions_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime.compatibility.auth_* plugins +cp -rp $baseDir/plugins/org.eclipse.osgi_* plugins +cp -rp $baseDir/plugins/org.eclipse.help_* plugins +cp -rp $baseDir/plugins/org.eclipse.swt_* plugins +cp -rp $baseDir/plugins/org.eclipse.jface_* plugins +cp -rp $baseDir/plugins/org.eclipse.jface.databinding_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.workbench_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.configurator_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.simpleconfigurator_* plugins +cp -rp $baseDir/plugins/org.eclipse.rcp_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.contenttype_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.app_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.common_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.preferences_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.launcher_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime.compatibility.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.variables_* plugins +cp -rp $baseDir/plugins/javax.servlet_* plugins +cp -rp $baseDir/plugins/javax.servlet.jsp_* plugins +cp -rp $baseDir/plugins/org.apache.ant_* plugins +cp -rp $baseDir/plugins/org.apache.commons.el_* plugins +cp -rp $baseDir/plugins/org.apache.commons.logging_* plugins +cp -rp $baseDir/plugins/org.apache.jasper_* plugins +cp -rp $baseDir/plugins/org.apache.lucene_* plugins +cp -rp $baseDir/plugins/org.apache.lucene.analysis_* plugins +cp -rp $baseDir/plugins/org.eclipse.ant.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime.compatibility_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.filetransfer_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.identity_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.provider.filetransfer_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.provider.filetransfer.ssl_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.ssl_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.frameworkadmin_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.frameworkadmin.equinox_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.http.jetty_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.http.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.http.servlet_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.jsp.jasper_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.jsp.jasper.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.artifact.repository_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.console_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.director_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.director.app_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.directorywatcher_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.engine_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.exemplarysetup_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.extensionlocation_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.garbagecollector_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.jarprocessor_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.metadata_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.metadata.generator_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.metadata.repository_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.reconciler.dropins_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.touchpoint.natives_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.ui.sdk_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.updatechecker_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.updatesite_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.base_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.webapp_* plugins +cp -rp $baseDir/plugins/org.eclipse.osgi.services_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.forms_* plugins +cp -rp $baseDir/plugins/org.mortbay.jetty_* plugins +cp -rp $baseDir/plugins/org.sat4j.core_* plugins +cp -rp $baseDir/plugins/org.sat4j.pb_* plugins +cp -rp $baseDir/plugins/org.eclipse.jdt* plugins +cp -rp $baseDir/plugins/org.eclipse.ant.ui_* plugins +cp -rp $baseDir/plugins/org.junit_* plugins +cp -rp $baseDir/plugins/org.junit4_* plugins +rm -rf plugins/*.source_* +sed -i 's/org.eclipse.sdk.ide/org.eclipse.platform.ide/' configuration/config.ini diff --git a/eclipse-copy-Platform.sh b/eclipse-copy-Platform.sh new file mode 100644 index 0000000..240612a --- /dev/null +++ b/eclipse-copy-Platform.sh @@ -0,0 +1,142 @@ +#!/bin/sh + +baseDir=$1 + +mkdir -p features plugins +cp -rp $baseDir/about* . +cp -rp $baseDir/configuration/ . +cp -rp $baseDir/eclipse{,.ini} . +cp -rp $baseDir/.eclipseproduct . +cp -rp $baseDir/epl-v10.html . +cp -rp $baseDir/notice.html . +cp -rp $baseDir/readme/ . +cp -rp $baseDir/features/org.eclipse.platform_* features +cp -rp $baseDir/features/org.eclipse.help_* features +cp -rp $baseDir/features/org.eclipse.equinox.p2.user.ui_* features +cp -rp $baseDir/plugins/*linux* plugins +cp -rp $baseDir/plugins/com.jcraft.jsch_* plugins +cp -rp $baseDir/plugins/org.eclipse.compare_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.boot_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.filebuffers_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.filesystem_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.net_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.resources_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.resources.compatibility_* plugins +cp -rp $baseDir/plugins/org.eclipse.osgi.util_* plugins +cp -rp $baseDir/plugins/org.eclipse.debug.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.debug.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.appserver_* plugins +cp -rp $baseDir/plugins/org.eclipse.ltk.core.refactoring_* plugins +cp -rp $baseDir/plugins/org.eclipse.ltk.ui.refactoring_* plugins +cp -rp $baseDir/plugins/org.eclipse.platform_* plugins +cp -rp $baseDir/plugins/org.eclipse.platform.doc.user_* plugins +cp -rp $baseDir/plugins/org.eclipse.search_* plugins +cp -rp $baseDir/plugins/org.eclipse.team.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.team.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.text_* plugins +cp -rp $baseDir/plugins/org.eclipse.jface.text_* plugins +cp -rp $baseDir/plugins/org.eclipse.jsch.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.jsch.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.console_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.presentations.r21_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.intro_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.intro.universal_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.cheatsheets_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.browser_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.navigator_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.navigator.resources_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.net_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.workbench.texteditor_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.views_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.editors_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.externaltools_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.ide_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.ide.application_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.scheduler_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.workbench.compatibility_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.views.properties.tabbed_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.security_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.security.ui_* plugins +cp -rp $baseDir/features/org.eclipse.rcp_* features +cp -rp $baseDir/plugins/com.ibm.icu_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.commands_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.databinding_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.databinding.beans_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.jobs_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.expressions_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime.compatibility.auth_* plugins +cp -rp $baseDir/plugins/org.eclipse.osgi_* plugins +cp -rp $baseDir/plugins/org.eclipse.help_* plugins +cp -rp $baseDir/plugins/org.eclipse.swt_* plugins +cp -rp $baseDir/plugins/org.eclipse.jface_* plugins +cp -rp $baseDir/plugins/org.eclipse.jface.databinding_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.workbench_* plugins +cp -rp $baseDir/plugins/org.eclipse.update.configurator_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.simpleconfigurator_* plugins +cp -rp $baseDir/plugins/org.eclipse.rcp_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.contenttype_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.app_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.common_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.preferences_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.launcher_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime.compatibility.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.variables_* plugins +cp -rp $baseDir/plugins/javax.servlet_* plugins +cp -rp $baseDir/plugins/javax.servlet.jsp_* plugins +cp -rp $baseDir/plugins/org.apache.ant_* plugins +cp -rp $baseDir/plugins/org.apache.commons.el_* plugins +cp -rp $baseDir/plugins/org.apache.commons.logging_* plugins +cp -rp $baseDir/plugins/org.apache.jasper_* plugins +cp -rp $baseDir/plugins/org.apache.lucene_* plugins +cp -rp $baseDir/plugins/org.apache.lucene.analysis_* plugins +cp -rp $baseDir/plugins/org.eclipse.ant.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.core.runtime.compatibility_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.filetransfer_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.identity_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.provider.filetransfer_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.provider.filetransfer.ssl_* plugins +cp -rp $baseDir/plugins/org.eclipse.ecf.ssl_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.frameworkadmin_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.frameworkadmin.equinox_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.http.jetty_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.http.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.http.servlet_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.jsp.jasper_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.jsp.jasper.registry_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.artifact.repository_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.console_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.core_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.director_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.director.app_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.directorywatcher_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.engine_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.exemplarysetup_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.extensionlocation_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.garbagecollector_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.jarprocessor_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.metadata_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.metadata.generator_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.metadata.repository_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.reconciler.dropins_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.touchpoint.natives_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.ui.sdk_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.updatechecker_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.p2.updatesite_* plugins +cp -rp $baseDir/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.base_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.ui_* plugins +cp -rp $baseDir/plugins/org.eclipse.help.webapp_* plugins +cp -rp $baseDir/plugins/org.eclipse.osgi.services_* plugins +cp -rp $baseDir/plugins/org.eclipse.ui.forms_* plugins +cp -rp $baseDir/plugins/org.mortbay.jetty_* plugins +cp -rp $baseDir/plugins/org.sat4j.core_* plugins +cp -rp $baseDir/plugins/org.sat4j.pb_* plugins +sed -i 's/org.eclipse.sdk.ide/org.eclipse.platform.ide/' configuration/config.ini diff --git a/eclipse-updateSymlinks.sh b/eclipse-updateSymlinks.sh new file mode 100644 index 0000000..c93c035 --- /dev/null +++ b/eclipse-updateSymlinks.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +pushd @INSTALLDIR@/configuration +rm org.eclipse.equinox.simpleconfigurator/bundles.info +biggest=$(ls -1 bundleInfos/ | tail -n 1) +ln -s $biggest org.eclipse.equinox.simpleconfigurator/bundles.info +rm config.ini +biggest=$(ls -1 configInis/ | tail -n 1) +ln -s $biggest config.ini +popd + +profilesDir=@INSTALLDIR@/profilesDir +pushd @INSTALLDIR@/p2/org.eclipse.equinox.engine/profileRegistry +rm -rf * +biggest=$(ls -1 $profilesDir | tail -n 1) +ln -s ../../../profilesDir/$biggest $(echo $biggest | cut -c 3-) +popd diff --git a/eclipse.spec b/eclipse.spec index e44276f..148a448 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -4,6 +4,7 @@ # - update stuff for building on secondary arches # - get Ganymede update site pre-configured # - investigate bi-arch requirements +# - sub-packages ... do we need config.ini for -rcp? Epoch: 1 %define eclipse_major 3 @@ -22,7 +23,7 @@ Epoch: 1 Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 2%{?dist} +Release: 3%{?dist} License: EPL Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ @@ -65,6 +66,10 @@ Source25: ecf-filetransfer-v20080611-1715.tar.bz2 # Create a simple feature for building ECF's filetransfer plugins Source26: ecf-filetransfer-feature.xml Source27: ecf-filetransfer-build.properties +# These scripts copy sub-sets of the SDK for generating metadata +Source28: %{name}-copy-Platform.sh +Source29: %{name}-copy-JDT.sh +Source30: %{name}-updateSymlinks.sh # Build swttools.jar # https://bugs.eclipse.org/bugs/show_bug.cgi?id=90364 @@ -682,11 +687,7 @@ unzip -d $RPM_BUILD_ROOT%{_libdir} \ rm -rf \ $RPM_BUILD_ROOT%{_libdir}/%{name}/features/org.eclipse.ecf.filetransfer_feature_* -installDir=$RPM_BUILD_ROOT%{_libdir}/%{name} -metadataDir=$installDir/metadata -installFolder=$RPM_BUILD_ROOT%{_libdir}/%{name}-tmp - -LAUNCHERVERSION=$(ls $installDir/plugins | grep equinox.launcher_ | sed 's/org.eclipse.equinox.launcher_//') +LAUNCHERVERSION=$(ls $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins | grep equinox.launcher_ | sed 's/org.eclipse.equinox.launcher_//') # Install the file initializer app cp -p equinox-incubator/org.eclipse.equinox.initializer/org.eclipse.equinox.initializer_*.jar \ @@ -697,6 +698,31 @@ unzip -qq -d $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins %{SOURCE4} # Install the Fedora Eclipse product feature unzip -qq -d $RPM_BUILD_ROOT%{_libdir}/%{name}/features %{SOURCE5} +scriptDir=`pwd` +cp %{SOURCE28} . +cp %{SOURCE29} . + +for subPkg in Platform JDT; do +mkdir $RPM_BUILD_ROOT%{_libdir}/%{name}-$subPkg +pushd $RPM_BUILD_ROOT%{_libdir}/%{name}-$subPkg + sh $scriptDir/%{name}-copy-$subPkg.sh $RPM_BUILD_ROOT%{_libdir}/%{name} +popd +done + +ln -s $RPM_BUILD_ROOT%{_libdir}/%{name}{,-SDK} + +bundlesInfoDir=$RPM_BUILD_ROOT%{_libdir}/%{name}-bundleInfos +profilesDir=$RPM_BUILD_ROOT%{_libdir}/%{name}-profiles +configIniDir=$RPM_BUILD_ROOT%{_libdir}/%{name}-configInis +mkdir -p $bundlesInfoDir $profilesDir $configIniDir + +for subPkg in Platform JDT SDK; do + +installDir=$RPM_BUILD_ROOT%{_libdir}/%{name}-$subPkg +metadataDir=$installDir/metadata-$subPkg +installFolder=$RPM_BUILD_ROOT%{_libdir}/%{name}-tmp-$subPkg +SDKinstallFolder=$RPM_BUILD_ROOT%{_libdir}/%{name}-tmp + # Generate metadata java \ -cp $installDir/plugins/org.eclipse.equinox.launcher_$LAUNCHERVERSION \ @@ -706,8 +732,8 @@ org.eclipse.equinox.p2.metadata.generator.EclipseGenerator \ -metadataRepository file:$metadataDir \ -artifactRepository file:$metadataDir \ -source $installDir \ --root sdk \ --rootVersion 3.4.0 \ +-root "Fedora Eclipse $subPkg" \ +-rootVersion %{version} \ -flavor tooling \ -publishArtifacts \ -append \ @@ -715,21 +741,21 @@ org.eclipse.equinox.p2.metadata.generator.EclipseGenerator \ -metadataRepositoryName "Fedora Eclipse" # Director config.ini +mv $installDir/configuration/config.ini{,.bak} cp -p %{SOURCE22} $installDir/configuration/config.ini chmod u+x $installDir/eclipse -profileId=SDKProfile +profileId=${subPkg}Profile -# Provision SDK with director +# Debugging? Add -debug and -consolelog +# Provision with director $installDir/eclipse \ -application \ org.eclipse.equinox.p2.director.app.application \ -nosplash \ --debug \ --consolelog \ -flavor tooling \ --installIU sdk \ +-installIU "Fedora Eclipse $subPkg" \ -version %{version} \ -p2.os linux \ -p2.ws gtk \ @@ -744,36 +770,95 @@ org.eclipse.equinox.p2.director.app.application \ -vmargs \ -Declipse.p2.data.area=$installFolder/p2 -# Some extra stuff -for f in about_files {about,epl-v10,notice}.html readme metadata; do - cp -rp $installDir/$f $installFolder +# Copy the sub-bundles.info file +mv $installFolder/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info \ + $bundlesInfoDir/${subPkg}-bundles.info + +# Copy the sub-profile +profileDir=$installFolder/p2/org.eclipse.equinox.p2.engine/profileRegistry +mv $profileDir/* $profilesDir + +# Copy the sub-config.ini (for profile= line) +mv $installFolder/configuration/config.ini \ + $configIniDir/${subPkg}-config.ini + +# Reset config.ini +mv $installDir/configuration/config.ini{.bak,} +done + +# Some extra stuff. installFolder will still be -SDK here +for f in about_files {about,epl-v10,notice}.html readme; do + mv $RPM_BUILD_ROOT%{_libdir}/%{name}/$f $installFolder done +rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/metadata-SDK # Ship the provisioned SDK +installDir=$RPM_BUILD_ROOT%{_libdir}/%{name} rm -rf $installDir mv $installFolder $installDir +rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}*tmp* +rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-{Platform,JDT} +rm $RPM_BUILD_ROOT%{_libdir}/%{name}-SDK + +mv $configIniDir $installDir/configuration/configInis +configIniDir=$installDir/configuration/configInis +mv $bundlesInfoDir $installDir/configuration/bundleInfos +bundlesInfoDir=$installDir/configuration/bundleInfos +mv $profilesDir $installDir/profilesDir +profilesDir=$installDir/profilesDir + +pushd $configIniDir + mv Platform-config.ini 0-Platform-config.ini + mv JDT-config.ini 1-JDT-config.ini + mv SDK-config.ini 2-SDK-config.ini + for f in `ls *.ini`; do + sed --in-place "s/plugins\/org.eclipse.platform/plugins\/org.fedoraproject.ide.platform/" $f + sed --in-place "s/eclipse.product=.*/eclipse.product=org.fedoraproject.ide.platform.product/" $f + done +popd +pushd $installDir/configuration + ln -s configInis/2-SDK-config.ini config.ini +popd +pushd $bundlesInfoDir + mv Platform-bundles.info 0-Platform-bundles.info + mv JDT-bundles.info 1-JDT-bundles.info + mv SDK-bundles.info 2-SDK-bundles.info +popd +pushd $installDir/configuration/org.eclipse.equinox.simpleconfigurator + ln -s ../bundleInfos/2-SDK-bundles.info bundles.info +popd +pushd $profilesDir + for f in Platform JDT SDK; do + profileFiles=${f}Profile.profile/* + for g in Platform JDT SDK; do + installFolder=$RPM_BUILD_ROOT%{_libdir}/%{name}-tmp-$g + sed -i "s|$installFolder|%{_libdir}/%{name}|g" $profileFiles + done + done + mv PlatformProfile.profile 0-PlatformProfile.profile + mv JDTProfile.profile 1-JDTProfile.profile + mv SDKProfile.profile 2-SDKProfile.profile + # This is a weird one - extension location? + sed -i "s|$RPM_BUILD_ROOT||g" 2-SDKProfile.profile/* +popd +pushd $installDir/p2/org.eclipse.equinox.p2.engine/profileRegistry + ln -s ../../../profilesDir/2-SDKProfile.profile SDKProfile.profile +popd # Fix paths in p2 data rm -rf $installDir/p2/org.eclipse.equinox.p2.core/cache rm -rf $installDir/p2/org.eclipse.equinox.p2.director/rollback/content.xml -sed -i "s|file\:$installFolder/\ -\ bundle\ pool|Eclipse\ SDK|g" \ +sed -i "s|file\:$installFolder/\ -\ bundle\ pool|Fedora Eclipse|g" \ $installDir/artifacts.xml -# FIXME: remove the older entry? -profileDir=$installDir/p2/org.eclipse.equinox.p2.engine/profileRegistry -pushd $profileDir -for f in `ls $profileId.profile`; do - sed -i "s|$installFolder|%{_libdir}/%{name}|g" $profileId.profile/$f -done -popd %ifarch ppc64 sparc sparcv9 sparc64 alpha ia64 -cp -p features/org.eclipse.platform/gtk/eclipse.ini $RPM_BUILD_ROOT%{_libdir}/eclipse +cp -p features/org.eclipse.platform/gtk/eclipse.ini $installDir %endif cp -p features/org.eclipse.platform/gtk/eclipse.ini.patched \ - $RPM_BUILD_ROOT%{_libdir}/eclipse/eclipse.ini + $installDir/eclipse.ini # Add a compatibility symlink to startup.jar -pushd $RPM_BUILD_ROOT%{_libdir}/%{name} +pushd $installDir LAUNCHERNAME=$(ls plugins | grep equinox.launcher_) ln -s plugins/$LAUNCHERNAME startup.jar popd @@ -797,11 +882,11 @@ java -Dosgi.sharedConfiguration.area=$libdir_path/configuration \ popd # Remove the unnecessary configuration data -rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.update -rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.core.runtime -rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/org.eclipse.equinox.app -rm -r $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/.settings -dataDirs=$(find $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration \ +rm -r $installDir/configuration/org.eclipse.update +rm -r $installDir/configuration/org.eclipse.core.runtime +rm -r $installDir/configuration/org.eclipse.equinox.app +rm -r $installDir/configuration/.settings +dataDirs=$(find $installDir/configuration \ -type d -name data) for dataDir in $dataDirs; do rm -rf `dirname $dataDir` @@ -810,17 +895,10 @@ done # Do this again after we've run the file initializer rm -rf $installDir/p2/org.eclipse.equinox.p2.core/cache rm -rf $installDir/p2/org.eclipse.equinox.p2.director/rollback/content.xml - -pushd $profileDir -grep -rl $RPM_BUILD_ROOT $profileId.profile | xargs rm +pushd $installDir/p2/org.eclipse.equinox.p2.engine/profileRegistry + sed -i "s|$RPM_BUILD_ROOT||g" *.profile/* popd -# Set eclipse.product to org.fedoraproject.ide.platform -sed --in-place "s/plugins\/org.eclipse.platform/plugins\/org.fedoraproject.ide.platform/" \ - $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini -sed --in-place "s/eclipse.product=org.eclipse.sdk.ide/eclipse.product=org.fedoraproject.ide.platform.product/" \ - $RPM_BUILD_ROOT%{_libdir}/%{name}/configuration/config.ini - # Install the Eclipse binary wrapper install -d -m 755 $RPM_BUILD_ROOT%{_bindir} ln -s %{_libdir}/%{name}/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name} @@ -934,6 +1012,12 @@ cp -p copy-platform $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts install -p -D -m0755 %{SOURCE21} \ $RPM_BUILD_ROOT%{_libdir}/%{name}/buildscripts/pdebuild +# Script to update config.ini, bundles.info, and *.profile +install -p -D -m0755 %{SOURCE30} \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/.updateSymlinks +sed --in-place "s|@INSTALLDIR@|%{_libdir}/eclipse|g" \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/.updateSymlinks + pushd $RPM_BUILD_ROOT%{_libdir}/%{name} rm plugins/org.sat4j* ln -s %{_javadir}/org.sat4j.core_* plugins/ @@ -1045,17 +1129,24 @@ popd %clean rm -rf $RPM_BUILD_ROOT +%post jdt -p %{_libdir}/%{name}/.updateForSubPackages +%postun jdt -p %{_libdir}/%{name}/.updateForSubPackages +%post pde -p %{_libdir}/%{name}/.updateForSubPackages +%postun pde -p %{_libdir}/%{name}/.updateForSubPackages + %post platform touch --no-create %{_datadir}/icons/hicolor if [ -x /usr/bin/gtk-update-icon-cache ]; then gtk-update-icon-cache -q %{_datadir}/icons/hicolor fi +%{_libdir}/%{name}/.updateForSubPackages %postun platform touch --no-create %{_datadir}/icons/hicolor if [ -x /usr/bin/gtk-update-icon-cache ]; then gtk-update-icon-cache -q %{_datadir}/icons/hicolor fi +%{_libdir}/%{name}/.updateForSubPackages %files ecj %defattr(-,root,root) @@ -1088,9 +1179,11 @@ fi %{_libdir}/%{name}/configuration/org.eclipse.osgi/.lazy* %{_libdir}/%{name}/configuration/org.eclipse.osgi/.manager %{_libdir}/%{name}/configuration/org.eclipse.osgi/.state* -%{_libdir}/%{name}/configuration/config.ini -# FIXME: where should this go? -%{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator +%config %{_libdir}/%{name}/configuration/config.ini +%config %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info +%dir %{_libdir}/%{name}/configuration/configInis +%dir %{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator +#%{_libdir}/%{name}/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info %{_libdir}/%{name}/notice.html %{_libdir}/%{name}/epl-v10.html %{_libdir}/%{name}/about.html @@ -1127,10 +1220,15 @@ fi %defattr(-,root,root) %attr(0755,root,root) %{_bindir}/%{name} %config %{_libdir}/%{name}/eclipse.ini +%{_libdir}/%{name}/configuration/configInis/0-Platform-config.ini +%dir %{_libdir}/%{name}/configuration/bundleInfos +%{_libdir}/%{name}/configuration/bundleInfos/0-Platform-bundles.info %{_datadir}/applications/* %{_datadir}/pixmaps/* %{_datadir}/icons/*/*/apps/* %{_libdir}/%{name}/eclipse +%dir %{_libdir}/%{name}/profilesDir +%{_libdir}/%{name}/profilesDir/0-PlatformProfile.profile %{_libdir}/%{name}/features/org.eclipse.platform_* %{_libdir}/%{name}/plugins/com.jcraft.jsch_* %{_libdir}/%{name}/plugins/javax.servlet_* @@ -1247,11 +1345,20 @@ fi %{_libdir}/%{name}/plugins/org.sat4j.pb_* # Put this in -platform since we're putting the p2 stuff here %{_libdir}/%{name}/artifacts.xml -%{_libdir}/%{name}/metadata +# FIXME: should we ship content.xml? +#%{_libdir}/%{name}/metadata +%dir %{_libdir}/%{name}/p2 +%dir %{_libdir}/%{name}/p2/org.eclipse.equinox.p2.engine +%dir %{_libdir}/%{name}/p2/org.eclipse.equinox.p2.engine/profileRegistry +%config %{_libdir}/%{name}/p2/org.eclipse.equinox.p2.engine/profileRegistry/*.profile +%{_libdir}/%{name}/.updateSymlinks %files jdt %defattr(-,root,root) %{_bindir}/efj +%{_libdir}/%{name}/configuration/configInis/1-JDT-config.ini +%{_libdir}/%{name}/profilesDir/1-JDTProfile.profile +%{_libdir}/%{name}/configuration/bundleInfos/1-JDT-bundles.info %{_libdir}/%{name}/features/org.eclipse.jdt_* %{_libdir}/%{name}/plugins/org.eclipse.ant.ui_* %{_libdir}/%{name}/plugins/org.junit_* @@ -1274,6 +1381,9 @@ fi %files pde %defattr(-,root,root) +%{_libdir}/%{name}/configuration/configInis/2-SDK-config.ini +%{_libdir}/%{name}/profilesDir/2-SDKProfile.profile +%{_libdir}/%{name}/configuration/bundleInfos/2-SDK-bundles.info %{_libdir}/%{name}/features/org.eclipse.sdk_* %{_libdir}/%{name}/features/org.eclipse.pde_* %{_libdir}/%{name}/features/org.eclipse.pde.p2_* @@ -1325,6 +1435,12 @@ fi %{_libdir}/%{name}/plugins/org.eclipse.pde.runtime_* %changelog +* Thu Jul 17 2008 Andrew Overholt 3.4.0-3 +- Generate metadata and provision each sub-package +- Do crazy config.ini, bundles.info, and *.profile shuffling +- Add post and postun sections to update the config.ini, bundles.info, and + *.profile files + * Wed Jul 16 2008 Andrew Overholt 3.4.0-1 - Fix files lists