%define gcj_support 1 %define sdk_build 1 %define eclipse_base %{_datadir}/eclipse %define cvs_tag R2_0_0_1 %define rse_server eclipse-rse-server Name: eclipse-rse Version: 2.0.1 Release: 5%{?dist} Summary: Remote System Explorer for eclipse Group: Development/Tools License: EPL URL: http://www.eclipse.org/dsdp/tm # This tarball was made using the included script, like so: # sh ./fetch-rse.sh %{cvs_tag} Source0: eclipse-rse-fetched-src-%{cvs_tag}.tar.bz2 Source1: fetch-rse.sh Source2: %{rse_server}.init Source3: server.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if %{gcj_support} BuildRequires: gcc-java BuildRequires: java-gcj-compat-devel Requires(post): java-gcj-compat Requires(postun): java-gcj-compat %else BuildRequires: java-devel >= 1.5.0 %endif %if ! %{gcj_support} BuildArch: noarch %endif # Requires Eclipse 3.3 or later for the SSH component. BuildRequires: eclipse-pde >= 1:3.3.0 BuildRequires: eclipse-cdt Requires: eclipse-platform >= 3.3.1 Requires: eclipse-cdt >= 3.1.2 #Provides: org.apache.oro = 2.0.8 #Provides: org.apache.commons.net = 1.4.1 %description Remote System Explorer (RSE) is a framework and toolkit in Eclipse Workbench that allows you to connect and work with a variety of remote systems. %package remotecdt Summary: RSE C/C++ Remote Debug Launcher Requires: %{name} = %{version}-%{release} Group: Development/Tools %description remotecdt A Launch Configuration for debugging C/C++ programs on a \ remote host through RSE-provided shell and file services, and gdbserver. \ Includes Source. %package ftp Summary: RSE FTP Service Requires: %{name} = %{version}-%{release} Group: Development/Tools %description ftp An FTP-based implementation of the file services defined by the Eclipse Remote System Explorer (RSE) API. %package ssh Summary: RSE SSH services Requires: %{name} = %{version}-%{release} Group: Development/Tools %description ssh An SSH-based implementation of the file and shell services defined by the Eclipse Remote System Explorer (RSE) API. %package local Summary: RSE Local Services Requires: %{name} = %{version}-%{release} Group: Development/Tools %description local An Local Services provides an implementation of the basic services, that accesses local resources defined by Eclipse Remote System Explorer (RSE) API. %package dstore Summary: RSE DStore Services Requires: %{name} = %{version}-%{release} Group: Development/Tools %description dstore DStore is an extensible tooling communication layer implementation defined by Eclipse Remote System Explorer (RSE). %package telnet Summary: RSE Telnet Service Requires: %{name} = %{version}-%{release} Group: Development/Tools %description telnet The Remote System Explorer (RSE) telnet plugin contains \ a shell subsystem implementation communicating via the telnet protocol. %package server Summary: RSE DStore Server Requires: perl Requires(post): /bin/grep Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service Group: Development/Tools %description server An RSE DStore communications daemon. %package sdk Summary: RSE DStore Services Requires: %{name} = %{version}-%{release} Group: Development/Tools %description sdk SDK package for the Eclipse Remote System Explorer (RSE). %prep %setup -q -n org.eclipse.tm.rse # See comments in the script to understand this. /bin/sh -x %{eclipse_base}/buildscripts/copy-platform SDK %{eclipse_base} cdt mkdir home %build SDK=$(cd SDK > /dev/null && pwd) # Eclipse may try to write to the home directory. homedir=$(cd home > /dev/null && pwd) %if %{sdk_build} java -cp $SDK/startup.jar \ -Dosgi.sharedConfiguration.area=%{_libdir}/eclipse/configuration \ org.eclipse.core.launcher.Main \ -application org.eclipse.ant.core.antRunner \ -Dtype=feature \ -Did=org.eclipse.rse.sdk \ -DbaseLocation=$SDK \ -DsourceDirectory=$(pwd) \ -DbuildDirectory=$(pwd)/build \ -Dbuilder=%{eclipse_base}/plugins/org.eclipse.pde.build/templates/package-build \ -f %{eclipse_base}/plugins/org.eclipse.pde.build/scripts/build.xml \ -vmargs -Duser.home=$homedir %else java -cp $SDK/startup.jar \ -Dosgi.sharedConfiguration.area=%{_libdir}/eclipse/configuration \ org.eclipse.core.launcher.Main \ -application org.eclipse.ant.core.antRunner \ -Dtype=feature \ -Did=org.eclipse.rse \ -DbaseLocation=$SDK \ -DsourceDirectory=$(pwd) \ -DbuildDirectory=$(pwd)/build \ -Dbuilder=%{eclipse_base}/plugins/org.eclipse.pde.build/templates/package-build \ -f %{eclipse_base}/plugins/org.eclipse.pde.build/scripts/build.xml \ -vmargs -Duser.home=$homedir %endif java -cp $SDK/startup.jar \ -Dosgi.sharedConfiguration.area=%{_libdir}/eclipse/configuration \ org.eclipse.core.launcher.Main \ -application org.eclipse.ant.core.antRunner \ -Dtype=feature \ -Did=org.eclipse.rse.remotecdt \ -DbaseLocation=$SDK \ -DsourceDirectory=$(pwd) \ -DbuildDirectory=$(pwd)/build \ -Dbuilder=%{eclipse_base}/plugins/org.eclipse.pde.build/templates/package-build \ -f %{eclipse_base}/plugins/org.eclipse.pde.build/scripts/build.xml \ -vmargs -Duser.home=$homedir %install %{__rm} -rf %{buildroot} %{__install} -d -m 755 %{buildroot}%{eclipse_base} %if %{sdk_build} %{__unzip} -q -d %{buildroot}%{eclipse_base}/.. \ build/rpmBuild/org.eclipse.rse.sdk.zip %else %{__unzip} -q -d %{buildroot}%{eclipse_base}/.. \ build/rpmBuild/org.eclipse.rse.zip %endif %{__unzip} -q -d %{buildroot}%{eclipse_base}/.. \ build/rpmBuild/org.eclipse.rse.remotecdt.zip ### Installing the DStore Server ### %{__install} -d -m 755 %{buildroot}%{_sysconfdir}/sysconfig/%{rse_server} %{__install} -d -m 755 %{buildroot}%{_datadir}/%{rse_server}-%{version} %{__install} -d -m 755 %{buildroot}%{_sbindir} %{__install} -m 655 plugins/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/*.pl \ %{buildroot}%{_datadir}/%{rse_server}-%{version}/ %{__install} -m 644 plugins/org.eclipse.rse.services.dstore/serverruntime/data/*.properties \ %{buildroot}%{_sysconfdir}/sysconfig/%{rse_server} %{__install} -m 644 %{SOURCE3} \ %{buildroot}%{_sysconfdir}/sysconfig/%{rse_server}/server.conf # Copy needed jars to run the server, we don't symlink here so that the server # don't depend on eclipse-rse sub packages. pushd %{buildroot}%{eclipse_base}/plugins unzip org.eclipse.dstore.core_*jar dstore_core.jar -d %{buildroot}%{_datadir}/%{rse_server}-%{version} unzip org.eclipse.dstore.extra_*jar dstore_extra_server.jar -d %{buildroot}%{_datadir}/%{rse_server}-%{version} unzip org.eclipse.rse.services.dstore_*jar dstore_miners.jar -d %{buildroot}%{_datadir}/%{rse_server}-%{version} unzip org.eclipse.rse.services_*jar clientserver.jar -d %{buildroot}%{_datadir}/%{rse_server}-%{version} popd # Create deamon launcher script cat > %{buildroot}%{_sbindir}/%{rse_server} < /dev/null CLASSPATH=%{_sysconfdir}/sysconfig/%{rse_server} perl daemon.pl \$client_port \$server_port_range & sleep 2 update_pid echo "\$PID" > /var/run/%{rse_server}.pid popd &> /dev/null exit 0 else exit 1 fi EOF %{__chmod} 755 %{buildroot}%{_sbindir}/%{rse_server} # Copy service script %{__install} -d -m 755 %{buildroot}%{_sysconfdir}/rc.d/init.d %{__install} -m 755 \ %{SOURCE2} %{buildroot}%{_sysconfdir}/rc.d/init.d/%{rse_server} %{__install} -d -m 755 %{buildroot}%{_defaultdocdir}/%{rse_server}-%{version} # Copy license %{__install} -m 644 %{buildroot}%{eclipse_base}/features/org.eclipse.rse_*/license.html \ %{buildroot}%{_defaultdocdir}/%{rse_server}-%{version}/license.html ### End DStore Server install ### %if %{gcj_support} # Don't natively build org.eclipse.dstore.extra bundle. # see #292411 for more informations. dstore_extra_path="$(basename `ls -1 %{buildroot}/usr/share/eclipse/plugins/org.eclipse.dstore.extra_*.jar`)" %{_bindir}/aot-compile-rpm --exclude %{eclipse_base}/plugins/$dstore_extra_path %endif %clean %{__rm} -rf %{buildroot} %if %{gcj_support} %post -p /usr/bin/rebuild-gcj-db %postun -p /usr/bin/rebuild-gcj-db %endif %post server /sbin/chkconfig --add eclipse-rse-server %preun server if [ "$1" = 0 ]; then /sbin/service eclipse-rse-server stop > /dev/null 2>&1 || : /sbin/chkconfig --del eclipse-rse-server fi %files remotecdt %defattr(-,root,root,-) %dir %{eclipse_base}/features/org.eclipse.rse.remotecdt_*/ %doc %{eclipse_base}/features/org.eclipse.rse.remotecdt_*/*.html %{eclipse_base}/features/org.eclipse.rse.remotecdt_*/feature.* %{eclipse_base}/features/org.eclipse.rse.remotecdt_*/*.jpg %{eclipse_base}/plugins/org.eclipse.rse.remotecdt_*.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/org.eclipse.rse.remotecdt_* %endif %files ftp %defattr(-,root,root,-) %dir %{eclipse_base}/features/org.eclipse.rse.ftp_*/ %doc %{eclipse_base}/features/org.eclipse.rse.ftp_*/*.html %{eclipse_base}/features/org.eclipse.rse.ftp_*/feature.* %{eclipse_base}/plugins/org.eclipse.rse.services.files.ftp_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.files.ftp_*.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/org.eclipse.rse.services.files.ftp_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.files.ftp_* %endif %files ssh %defattr(-,root,root,-) %dir %{eclipse_base}/features/org.eclipse.rse.ssh_*/ %doc %{eclipse_base}/features/org.eclipse.rse.ssh_*/*.html %{eclipse_base}/features/org.eclipse.rse.ssh_*/feature.* %{eclipse_base}/plugins/org.eclipse.rse.services.ssh_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.files.ssh_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.shells.ssh_*.jar %{eclipse_base}/plugins/org.eclipse.rse.connectorservice.ssh_*.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/org.eclipse.rse.services.ssh_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.files.ssh_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.shells.ssh_* %{_libdir}/gcj/%{name}/org.eclipse.rse.connectorservice.ssh_* %endif %files local %defattr(-,root,root,-) %dir %{eclipse_base}/features/org.eclipse.rse.local_*/ %doc %{eclipse_base}/features/org.eclipse.rse.local_*/*.html %{eclipse_base}/features/org.eclipse.rse.local_*/feature.* %{eclipse_base}/plugins/org.eclipse.rse.services.local_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.files.local_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.shells.local_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.processes.local_*.jar %{eclipse_base}/plugins/org.eclipse.rse.connectorservice.local_*.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/org.eclipse.rse.services.local_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.files.local_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.shells.local_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.processes.local_* %{_libdir}/gcj/%{name}/org.eclipse.rse.connectorservice.local_* %endif %files dstore %defattr(-,root,root,-) %dir %{eclipse_base}/features/org.eclipse.rse.dstore_*/ %doc %{eclipse_base}/features/org.eclipse.rse.dstore_*/*.html %{eclipse_base}/features/org.eclipse.rse.dstore_*/feature.* %{eclipse_base}/plugins/org.eclipse.dstore.core_*.jar %{eclipse_base}/plugins/org.eclipse.dstore.extra_*.jar %{eclipse_base}/plugins/org.eclipse.rse.services.dstore_*.jar %{eclipse_base}/plugins/org.eclipse.rse.dstore.security_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.files.dstore_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.shells.dstore_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.processes.dstore_*.jar %{eclipse_base}/plugins/org.eclipse.rse.connectorservice.dstore_*.jar %if %{gcj_support} #%{_libdir}/gcj/%{name}/org.eclipse.dstore.extra_* %{_libdir}/gcj/%{name}/dstore_core.jar.* %{_libdir}/gcj/%{name}/dstore_extra_server.* %{_libdir}/gcj/%{name}/org.eclipse.rse.processes.ui_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.shells.core_* %{_libdir}/gcj/%{name}/org.eclipse.rse.dstore.security_* %{_libdir}/gcj/%{name}/org.eclipse.rse.services.dstore_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.files.dstore_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.shells.dstore_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.processes.dstore_* %{_libdir}/gcj/%{name}/org.eclipse.rse.connectorservice.dstore_* %endif %files telnet %defattr(-,root,root,-) %dir %{eclipse_base}/features/org.eclipse.rse.telnet_*/ %doc %{eclipse_base}/features/org.eclipse.rse.telnet_*/*.html %{eclipse_base}/features/org.eclipse.rse.telnet_*/feature.* %{eclipse_base}/plugins/org.eclipse.rse.connectorservice.telnet_*.jar %{eclipse_base}/plugins/org.eclipse.rse.services.telnet_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.shells.telnet_*.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/org.eclipse.rse.connectorservice.telnet_* %{_libdir}/gcj/%{name}/org.eclipse.rse.services.telnet_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.shells.telnet_* %endif %files server %defattr(-, root, root, -) %doc %{_defaultdocdir}/%{rse_server}-%{version}/license.html %dir %{_sysconfdir}/sysconfig/%{rse_server} %config(noreplace) %{_sysconfdir}/sysconfig/%{rse_server}/server.conf %config(noreplace) %{_sysconfdir}/sysconfig/%{rse_server}/rsecomm.properties %config(noreplace) %{_sysconfdir}/sysconfig/%{rse_server}/ssl.properties %{_sysconfdir}/rc.d/init.d/%{rse_server} %dir %{_datadir}/%{rse_server}-%{version} %{_datadir}/%{rse_server}-%{version}/*.pl %{_datadir}/%{rse_server}-%{version}/*.jar %{_sbindir}/%{rse_server} %if %{sdk_build} %files sdk %defattr(-, root, root, -) %dir %{eclipse_base}/features/org.eclipse.rse.sdk_*/ %doc %{eclipse_base}/features/org.eclipse.rse.sdk_*/*.html %{eclipse_base}/features/org.eclipse.rse.sdk_*/feature.* %{eclipse_base}/features/org.eclipse.rse.sdk_*/*.jpg %{eclipse_base}/features/*.source_* %{eclipse_base}/plugins/org.eclipse.rse.sdk_*.jar %{eclipse_base}/plugins/*.doc.isv_*.jar %{eclipse_base}/plugins/*.source_* %if %{gcj_support} %{_libdir}/gcj/%{name}/*.so %{_libdir}/gcj/%{name}/*.db %endif %endif %files %defattr(-,root,root,-) %dir %{eclipse_base}/features/org.eclipse.rse.core_*/ %dir %{eclipse_base}/features/org.eclipse.rse_*/ %doc %{eclipse_base}/features/org.eclipse.rse.core_*/*.html %doc %{eclipse_base}/plugins/org.eclipse.rse.doc.user_*.jar %{eclipse_base}/features/org.eclipse.rse.core_*/feature.* %{eclipse_base}/features/org.eclipse.rse_*/* %{eclipse_base}/plugins/org.eclipse.rse.core_*.jar %{eclipse_base}/plugins/org.eclipse.rse_*.jar %{eclipse_base}/plugins/org.eclipse.rse.efs.ui_*.jar %{eclipse_base}/plugins/org.eclipse.rse.efs_*.jar %{eclipse_base}/plugins/org.eclipse.rse.files.ui_*.jar %{eclipse_base}/plugins/org.eclipse.rse.importexport_*.jar %{eclipse_base}/plugins/org.eclipse.rse.processes.ui_*.jar %{eclipse_base}/plugins/org.eclipse.rse.services_*.jar %{eclipse_base}/plugins/org.eclipse.rse.shells.ui_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.files.core_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.processes.core_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.processes.shell.linux_*.jar %{eclipse_base}/plugins/org.eclipse.rse.subsystems.shells.core_*.jar %{eclipse_base}/plugins/org.eclipse.rse.ui_*.jar %{eclipse_base}/plugins/org.apache.commons.net_*.jar %{eclipse_base}/plugins/org.apache.oro_*.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/org.eclipse.rse.core_* %{_libdir}/gcj/%{name}/org.eclipse.rse.efs.ui_* %{_libdir}/gcj/%{name}/org.eclipse.rse.efs_* %{_libdir}/gcj/%{name}/org.eclipse.rse.files.ui_* %{_libdir}/gcj/%{name}/org.eclipse.rse.importexport_* %{_libdir}/gcj/%{name}/org.eclipse.rse.services_* %{_libdir}/gcj/%{name}/org.eclipse.rse.shells.ui_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.files.core_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.processes.core_* %{_libdir}/gcj/%{name}/org.eclipse.rse.subsystems.processes.shell.linux_* %{_libdir}/gcj/%{name}/org.eclipse.rse.ui_* %{_libdir}/gcj/%{name}/org.apache.* %endif %changelog * Thu Sep 13 2007 Alphonse Van Assche 2.0.1-5 - Let all bundles packed. - With IcedTea org.apache.oro and org.apache.commons.net don't give troubles when the javadoc is builded. - Add remotecdt sub package. * Tue Sep 4 2007 Alphonse Van Assche 2.0.0.1-4 - Restore the build of the debuginfo package. * Mon Sep 3 2007 Alphonse Van Assche 2.0.0.1-3 - Change permission of included source files. * Sat Sep 1 2007 Alphonse Van Assche 2.0.0.1-2 - Don't build the debuginfo package. - Fix the License tag. - Fix Required-Start/Stop in the initscript according with /FCNewInit/Initscripts. * Mon Aug 13 2007 Alphonse Van Assche 2.0.0.1-1 - initial package.