diff --git a/.gitignore b/.gitignore index 039e9f9..696be19 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /org.eclipse.tm.terminal-*.tar.xz /*.src.rpm +/org.eclipse.tm-6b04c544d33c31b1f3da168d0e606d8d20ed541d.tar.xz diff --git a/0001-Fix-feature-includes.patch b/0001-Fix-feature-includes.patch new file mode 100644 index 0000000..5a78b2c --- /dev/null +++ b/0001-Fix-feature-includes.patch @@ -0,0 +1,90 @@ +From 92ce1ecdedfeb73eb3c995dc01733fea299b55fb Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Thu, 14 Mar 2019 17:08:53 +0000 +Subject: [PATCH] Fix feature includes + +--- + rse/features/org.eclipse.rse.ftp-feature/feature.xml | 9 +-------- + rse/features/org.eclipse.rse.telnet-feature/feature.xml | 8 +------- + .../org.eclipse.tm.terminal.view.feature/feature.xml | 2 -- + .../org.eclipse.tm.terminal.view.rse.feature/feature.xml | 3 --- + 4 files changed, 2 insertions(+), 20 deletions(-) + +diff --git a/rse/features/org.eclipse.rse.ftp-feature/feature.xml b/rse/features/org.eclipse.rse.ftp-feature/feature.xml +index 4db815c..9a779f5 100644 +--- a/rse/features/org.eclipse.rse.ftp-feature/feature.xml ++++ b/rse/features/org.eclipse.rse.ftp-feature/feature.xml +@@ -37,19 +37,12 @@ + + + +- ++ + + + + + +- +- + + + ++ + + +- +- + + + +- +- + + + +diff --git a/terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml +index 35a974a..c4f43ba 100644 +--- a/terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml ++++ b/terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml +@@ -36,11 +36,8 @@ + + + +- +- + + +- + + + pam_set_item(PAM_TTY(), $tty_name); ++ $res = $pamh->pam_authenticate; + $classpath=$ENV{CLASSPATH}; + $suOptions="-"; + +- if ($passwd eq $encryptedPWD) ++ if ($res == PAM_SUCCESS()) + { + print("success\n"); + diff --git a/eclipse-rse-server-scripts.patch b/eclipse-rse-server-scripts.patch new file mode 100644 index 0000000..4335b88 --- /dev/null +++ b/eclipse-rse-server-scripts.patch @@ -0,0 +1,74 @@ +--- rse/plugins/org.eclipse.rse.services.dstore/serverruntime/data/ssl.properties.fix 2011-12-14 17:55:18.000000000 -0500 ++++ rse/plugins/org.eclipse.rse.services.dstore/serverruntime/data/ssl.properties 2011-12-14 17:59:39.000000000 -0500 +@@ -40,7 +40,12 @@ disable_server_ssl=false + ################################### + # The keystore file and password need to be specified for the + # server to use. If none is specified, the server falls back +-# to use the same keystore and password as the daemon ++# to use the same keystore and password as the daemon. Note ++# that the server uses the home directory of the userid as its ++# working directory so a relative path will only work for both ++# daemon and server if the keystore file is copied. A full path ++# is required to share a single keystore file between server and ++# daemon. + # + #server_keystore_file= +-#server_keystore_password= +\ No newline at end of file ++#server_keystore_password= +--- rse/plugins/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/daemon.pl.fix 2011-12-05 18:58:17.000000000 -0500 ++++ rse/plugins/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/daemon.pl 2011-12-13 19:02:13.000000000 -0500 +@@ -45,16 +45,17 @@ else + $trace = $ENV{DSTORE_TRACING_ON}; + } + +- $dir= $ENV{PWD}; +- $plugins_dir=$dir; ++ $dir= "$ENV{PWD}"; ++ $configdir= "/etc/sysconfig/rseserver/"; ++ $plugins_dir="/usr/share/java/eclipse-rse-server"; + +- $ENV{A_PLUGIN_PATH}="$plugins_dir/"; ++ $ENV{A_PLUGIN_PATH}="$dir/"; + + + $oldClasspath = $ENV{CLASSPATH}; + + +- $ENV{CLASSPATH}="$plugins_dir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar"; ++ $ENV{CLASSPATH}="$dir:$configdir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar"; + if (defined ($oldClasspath)) + { + $ENV{CLASSPATH}="$ENV{CLASSPATH}:$oldClasspath"; +--- rse/plugins/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/server.pl.fix 2011-12-05 18:58:21.000000000 -0500 ++++ rse/plugins/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/server.pl 2011-12-06 18:16:23.000000000 -0500 +@@ -17,18 +17,17 @@ $port = $ARGV[0]; + $timeout = $ARGV[1]; + $clientUserID = $ARGV[2]; + +-$dir= $ENV{PWD}; +-#print("path $dir"); ++$dir="$ENV{PWD}"; ++$configdir="/etc/sysconfig/rseserver"; + +-#$plugins_dir=substr($dir,0,rindex($dir,"/")); +-$plugins_dir=$dir; ++$plugins_dir="/usr/share/java/eclipse-rse-server"; + + $ENV{A_PLUGIN_PATH}="$plugins_dir/"; + + $oldClasspath = $ENV{CLASSPATH}; + + +-$ENV{"CLASSPATH"}="$plugins_dir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar:$oldClasspath"; ++$ENV{"CLASSPATH"}="$dir:$configdir:$plugins_dir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar:$oldClasspath"; + + if (!defined($timeout)) + { +@@ -46,4 +45,4 @@ else + } + } + +-$ENV{CLASSPATH}=$oldClasspath; +\ No newline at end of file ++$ENV{CLASSPATH}=$oldClasspath; diff --git a/eclipse-tm-terminal.spec b/eclipse-tm-terminal.spec index d204cd1..2eace23 100644 --- a/eclipse-tm-terminal.spec +++ b/eclipse-tm-terminal.spec @@ -1,115 +1,204 @@ -%global git_tag 121bc1f3ea828cf625634b25221ca1a8b3c73574 +%global git_tag 6b04c544d33c31b1f3da168d0e606d8d20ed541d # Set this to avoid building CDT and remotes bundles to eliminate # a circular dep on CDT->tm-terminal->remote->CDT -%bcond_without remote - -Name: eclipse-tm-terminal -Version: 4.4.0 -Release: 5%{?dist} -Summary: Terminal plug-in for Eclipse - -License: EPL-1.0 -URL: https://www.eclipse.org/tm/ -Source0: http://git.eclipse.org/c/tm/org.eclipse.tm.terminal.git/snapshot/org.eclipse.tm.terminal-%{git_tag}.tar.xz -BuildArch: noarch - -BuildRequires: maven-local -BuildRequires: tycho-extras -BuildRequires: eclipse-license -BuildRequires: eclipse-egit -%if %{with remote} +%bcond_with bootstrap + +# RSE server locations +%global rseserver_install %{_datadir}/eclipse-rse-server +%global rseserver_java %{_datadir}/java/eclipse-rse-server +%global rseserver_config %{_sysconfdir}/sysconfig/rseserver + +Name: eclipse-tm-terminal +Version: 4.5.100 +Release: 1%{?dist} +Summary: Terminal plug-in for Eclipse + +License: EPL-2.0 +URL: https://www.eclipse.org/tm/ +Source0: https://git.eclipse.org/c/tm/org.eclipse.tm.git/snapshot/org.eclipse.tm-%{git_tag}.tar.xz + +Patch0: 0001-Fix-feature-includes.patch +# Use Authen::pam to authenticate clients +Patch1: eclipse-rse-server-auth-pl.patch +# Fix classpath in daemon and server scripts to point +# to install locations +Patch2: eclipse-rse-server-scripts.patch + +BuildArch: noarch + +# Upstream Eclipse no longer supports non-64bit arches +ExcludeArch: s390 %{arm} %{ix86} + +BuildRequires: tycho +BuildRequires: tycho-extras +BuildRequires: apache-commons-net +BuildRequires: eclipse-egit +BuildRequires: eclipse-license2 +%if %{without bootstrap} # Needed for additional terminal connectors -BuildRequires: eclipse-cdt -BuildRequires: eclipse-rse -BuildRequires: eclipse-remote -BuildRequires: rxtx >= 2.2-0.15 +BuildRequires: eclipse-cdt +BuildRequires: eclipse-remote +BuildRequires: rxtx >= 2.2-0.15 %endif %description An integrated Eclipse View for the local command prompt (console) or remote hosts (SSH, Telnet, Serial). -%if %{with remote} +%package rse +Summary: Eclipse Remote System Explorer +Recommends: perl-interpreter +Recommends: perl-Authen-PAM + +# Obsoletes/Provides added in F30 +Obsoletes: eclipse-rse < %{version}-%{release} +Provides: eclipse-rse = %{version}-%{release} +Obsoletes: eclipse-rse-server < %{version}-%{release} +Provides: eclipse-rse-server = %{version}-%{release} + +%description rse +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. + +%if %{without bootstrap} %package connectors -Summary: Additional connectors for Terminal plug-in for Eclipse +Summary: Additional connectors for Terminal plug-in for Eclipse %description connectors -An integrated Eclipse View for the local command prompt (console) or -remote hosts (SSH, Telnet, Serial). +Additional connectors for Terminal plug-in for Eclipse. %endif %package sdk -Summary: Terminal SDK plug-in for Eclipse -Requires: %{name} = %{version}-%{release} -%if %{with remote} -Requires: %{name}-connectors = %{version}-%{release} +Summary: Terminal SDK plug-in for Eclipse +Requires: %{name} = %{version}-%{release} +%if %{without bootstrap} +Requires: %{name}-connectors = %{version}-%{release} %endif %description sdk Sources and developer resources for the Terminal plug-in for Eclipse. %prep -%setup -q -n org.eclipse.tm.terminal-%{git_tag} - -# Don't need to build repo -%pom_disable_module repos/org.eclipse.tm.terminal.repo +%setup -q -n org.eclipse.tm-%{git_tag} +%patch0 -p1 +%patch1 +%patch2 + +# Don't need to build repo for RPM builds +%pom_disable_module site +%pom_remove_plugin :target-platform-configuration +%pom_remove_plugin :tycho-packaging-plugin + +# Fixup erroneous license info, see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=538094 +sed -i -e '/license-feature-version/s/1\.0\.1\.qualifier/0.0.0/' \ + $(find -name feature.xml) + +# Don't ship tests, examples, etc +%pom_disable_module tests rse +%pom_disable_module org.eclipse.tm.terminal.test terminal/plugins +%pom_disable_module examples rse +%pom_disable_module org.eclipse.rse.ui.capabilities rse/plugins # When bootstrapping, disable the plugins and features that # create cyclical dependencies -%if %{without remote} -%pom_disable_module plugins/org.eclipse.tm.terminal.connector.process -%pom_disable_module plugins/org.eclipse.tm.terminal.connector.local -%pom_disable_module features/org.eclipse.tm.terminal.connector.local.feature -%pom_disable_module features/org.eclipse.tm.terminal.connector.local.sdk.feature -%pom_disable_module plugins/org.eclipse.tm.terminal.connector.remote -%pom_disable_module features/org.eclipse.tm.terminal.connector.remote.feature -%pom_disable_module features/org.eclipse.tm.terminal.connector.remote.sdk.feature -%pom_disable_module plugins/org.eclipse.tm.terminal.connector.cdtserial -%pom_disable_module features/org.eclipse.tm.terminal.connector.cdtserial.feature -%pom_disable_module features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature -%pom_disable_module plugins/org.eclipse.tm.terminal.connector.serial -%pom_disable_module features/org.eclipse.tm.terminal.connector.serial.feature -%pom_disable_module features/org.eclipse.tm.terminal.connector.serial.sdk.feature -%pom_disable_module plugins/org.eclipse.tm.terminal.view.ui.rse -%pom_disable_module features/org.eclipse.tm.terminal.view.rse.feature -%pom_disable_module features/org.eclipse.tm.terminal.view.rse.sdk.feature +%if %{with bootstrap} +%pom_disable_module org.eclipse.tm.terminal.connector.process terminal/plugins +%pom_disable_module org.eclipse.tm.terminal.connector.local terminal/plugins +%pom_disable_module org.eclipse.tm.terminal.connector.local.feature terminal/features +%pom_disable_module org.eclipse.tm.terminal.connector.local.sdk.feature terminal/features +%pom_disable_module org.eclipse.tm.terminal.connector.remote terminal/plugins +%pom_disable_module org.eclipse.tm.terminal.connector.remote.feature terminal/features +%pom_disable_module org.eclipse.tm.terminal.connector.remote.sdk.feature terminal/features %pom_xpath_remove "import[@feature='org.eclipse.tm.terminal.connector.local.sdk.feature']" \ - features/org.eclipse.tm.terminal.sdk.feature/feature.xml + terminal/features/org.eclipse.tm.terminal.sdk.feature/feature.xml %endif # Remove cycles between subpackages %pom_xpath_remove "import[@feature='org.eclipse.tm.terminal.connector.local.feature']" \ - features/org.eclipse.tm.terminal.feature/feature.xml + terminal/features/org.eclipse.tm.terminal.feature/feature.xml -%pom_xpath_remove "pom:plugin[pom:artifactId[text()='tycho-packaging-plugin']]/pom:configuration" admin/pom-config.xml +# Fix trying to include non-existent files +sed -i -e "s|feature.properties,\\\|feature.properties|g" terminal/features/org.eclipse.tm.terminal.view.feature/build.properties +sed -i -e "s|p2.inf||g" terminal/features/org.eclipse.tm.terminal.view.feature/build.properties +sed -i -e '/index/d' rse/doc/*/build.properties -sed -i -e "s|feature.properties,\\\|feature.properties|g" features/org.eclipse.tm.terminal.view.feature/build.properties -sed -i -e "s|p2.inf||g" features/org.eclipse.tm.terminal.view.feature/build.properties +# Enable serial connector +sed -i -e '//s///' \ + terminal/{plugins,features}/pom.xml # No need to install poms %mvn_package "::pom::" __noinstall %mvn_package "::jar:sources{,-feature}:" sdk %mvn_package ":*.sdk.feature" sdk +%mvn_package ":*.sdk" sdk +%mvn_package ":*.rse*" rse +%mvn_package ":*.dstore*" rse %mvn_package ":org.eclipse.tm.terminal.connector.{local,process,remote,cdtserial,serial}*" connectors -%mvn_package ":org.eclipse.tm.terminal.view.{rse,ui.rse}*" connectors %mvn_package ":" %build -%mvn_build -j +%if %{without bootstrap} +%mvn_build -j -- -Pcdtserial,rxtxserial +%else +%mvn_build -j -- -P"!cdtserial,!rxtxserial" +%endif %install %mvn_install +install -d -m 755 %{buildroot}%{rseserver_install} +install -d -m 755 %{buildroot}%{rseserver_java} +install -d -m 755 %{buildroot}%{rseserver_config} + +pushd %{buildroot}%{_datadir}/eclipse/droplets/tm-terminal-rse/plugins +unzip -q -o -d %{buildroot}%{rseserver_java} org.eclipse.rse.services.dstore_*.jar dstore_miners.jar +unzip -q -o -d %{buildroot}%{rseserver_java} org.eclipse.dstore.core_*.jar dstore_core.jar +unzip -q -o -d %{buildroot}%{rseserver_java} org.eclipse.dstore.extra_*.jar dstore_extra_server.jar +unzip -q -o -d %{buildroot}%{rseserver_java} org.eclipse.rse.services_*.jar clientserver.jar +# Remove server-specific jar files from plug-ins +jarname=`ls org.eclipse.rse.services.dstore_*.jar` +zip -d $jarname dstore_miners.jar +jarname=`ls org.eclipse.dstore.core_*.jar` +zip -d $jarname dstore_core.jar +jarname=`ls org.eclipse.dstore.extra_*.jar` +zip -d $jarname dstore_extra_server.jar +jarname=`ls org.eclipse.rse.services_*.jar` +zip -d $jarname clientserver.jar +popd + +pushd rse/plugins/org.eclipse.rse.services.dstore +pushd serverruntime/scripts/linux +cp *.pl %{buildroot}%{rseserver_install} +popd +pushd serverruntime/data +cp *.properties %{buildroot}%{rseserver_config} +cp *.dat %{buildroot}%{rseserver_install} +popd + %files -f .mfiles -%if %{with remote} +%files rse -f .mfiles-rse +%{rseserver_install} +%{rseserver_java} +%dir %{rseserver_config} +%config(noreplace) %{rseserver_config}/ssl.properties +%config(noreplace) %{rseserver_config}/rsecomm.properties + +%if %{without bootstrap} %files connectors -f .mfiles-connectors %endif %files sdk -f .mfiles-sdk %changelog +* Thu Mar 14 2019 Mat Booth - 4.5.100-1 +- Update to 2019-03 release +- Update license tag +- Add RSE subpackage and obsolete the old one since the projects + were merged +- Restrict to same architectures as Eclipse itself + * Thu Jan 31 2019 Fedora Release Engineering - 4.4.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index 1413569..dceaf3e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (org.eclipse.tm.terminal-121bc1f3ea828cf625634b25221ca1a8b3c73574.tar.xz) = eb05b3c7bac207d12b0d0cf901012d1e6d378b2415c5a68d8ee0f0efd8401ac0e8fc8ca1403dc73d3a58e941da6dc7b1568166b7e8bbcdf5b5a7ccb015bef0dd +SHA512 (org.eclipse.tm-6b04c544d33c31b1f3da168d0e606d8d20ed541d.tar.xz) = d71456dadbcdb503b585529ec52bd2e6b0596c780d8dc3229182c96d1fdfdfeba4f80a661721cc07f5862201168a9c64b072cd746e631bec8287b4e48be71f65