[eclipse-ecf] Make core package archful so it can be installed into libdir
Mat Booth
mbooth at fedoraproject.org
Thu Nov 27 17:49:48 UTC 2014
commit d2b781302195c020eeaca6eaa3e636e0d30218a3
Author: Mat Booth <mat.booth at redhat.com>
Date: Thu Nov 27 12:24:20 2014 +0000
Make core package archful so it can be installed into libdir
where eclipse-platform expects it to be
eclipse-ecf.spec | 102 ++++++++++++++++++++++++-----------------------------
1 files changed, 46 insertions(+), 56 deletions(-)
---
diff --git a/eclipse-ecf.spec b/eclipse-ecf.spec
index 52d4214..e6c99c2 100644
--- a/eclipse-ecf.spec
+++ b/eclipse-ecf.spec
@@ -1,46 +1,50 @@
%{?scl:%scl_package eclipse-ecf}
%{!?scl:%global pkg_name %{name}}
-%global tag R-Release_HEAD-sdk_feature-142_2014-08-18_17-43-32
-%global contextQualifier v%(date +%%Y%%m%%d-%%H%%M)
+# The core sub-package must be archful because it is required to be in
+# libdir by the platform, but we have no natives, so suppress debuginfo
+%global debug_package %{nil}
-%define __requires_exclude osgi*
+# This exclude breaks the cyclic dependency on the platform to aide in
+# bootstrapping
+%global __requires_exclude .*org\.eclipse\.equinox.*
+
+%global git_tag R-Release_HEAD-sdk_feature-142_2014-08-18_17-43-32
Name: %{?scl_prefix}eclipse-ecf
Version: 3.9.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Eclipse Communication Framework (ECF) Eclipse plug-in
License: EPL
URL: http://www.eclipse.org/ecf/
-Source0: http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/snapshot/org.eclipse.ecf-%{tag}.tar.bz2
+Source0: http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/snapshot/org.eclipse.ecf-%{git_tag}.tar.bz2
-BuildRequires: java-devel >= 1.7.0
-BuildRequires: jpackage-utils
-BuildRequires: eclipse-pde >= 4.3.0
+BuildRequires: java-devel
+BuildRequires: eclipse-pde >= 1:4.3.0
BuildRequires: httpcomponents-client
BuildRequires: httpcomponents-core
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-logging
-BuildArch: noarch
-
%description
ECF is a set of frameworks for building communications into applications and
services. It provides a lightweight, modular, transport-independent, fully
compliant implementation of the OSGi Remote Services standard.
-%package core
-Summary: Eclipse ECF Core
-Requires: java-headless
-Requires: jpackage-utils
-%{?scl:Requires: %scl_runtime}
+%package core
+Summary: Eclipse ECF Core
+Requires: java-headless
+Requires: eclipse-filesystem
%description core
ECF bundles required by eclipse-platform.
%prep
-%setup -q -n org.eclipse.ecf-%{tag}
+%setup -q -n org.eclipse.ecf-%{git_tag}
+
+find . -type f -name "*.jar" -exec rm {} \;
+find . -type f -name "*.class" -exec rm {} \;
#get just the bits we need
mkdir -p ecf/plugins
@@ -64,9 +68,7 @@ cp -r providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl ec
rm -rf `ls | grep -v "ecf"`
-find . -type f -name "*.jar" -exec rm {} \;
-find . -type f -name "*.class" -exec rm {} \;
-
+# Orbit deps for PDE build
mkdir -p deps
build-jar-repository -s -p deps \
httpcomponents/httpclient httpcomponents/httpcore commons-codec commons-logging
@@ -75,50 +77,38 @@ build-jar-repository -s -p deps \
sed -i -e 's#(Object) ((URIID) o)#((URIID) o)#g' ecf/plugins/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/identity/URIID.java
%build
-eclipse-pdebuild -f org.eclipse.ecf.core.feature \
- -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.core.ssl.feature \
- -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.feature \
- -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.ssl.feature \
- -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.feature \
- -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps
-eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.ssl.feature \
- -j "-DforceContextQualifier=%{contextQualifier}" -o `pwd`/deps
+OPTIONS="-DforceContextQualifier=$(date +v%Y%m%d-%H00)"
+
+eclipse-pdebuild -f org.eclipse.ecf.core.feature -j "$OPTIONS" -o `pwd`/deps
+eclipse-pdebuild -f org.eclipse.ecf.core.ssl.feature -j "$OPTIONS" -o `pwd`/deps
+eclipse-pdebuild -f org.eclipse.ecf.filetransfer.feature -j "$OPTIONS" -o `pwd`/deps
+eclipse-pdebuild -f org.eclipse.ecf.filetransfer.ssl.feature -j "$OPTIONS" -o `pwd`/deps
+eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.feature -j "$OPTIONS" -o `pwd`/deps
+eclipse-pdebuild -f org.eclipse.ecf.filetransfer.httpclient4.ssl.feature -j "$OPTIONS" -o `pwd`/deps
%install
-install -d -m 755 %{buildroot}%{_javadir}/ecf
-
-unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.core.feature.zip
-unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.core.ssl.feature.zip
-unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.feature.zip
-unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.ssl.feature.zip
-unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.feature.zip
-unzip -q -n -d %{buildroot}%{_javadir}/ecf build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.zip
-
-pushd %{buildroot}%{_javadir}/ecf/eclipse/plugins/
-rm -rf org.apache*
-#remove timestamps from name to make symlinking easy
-for f in \
-org.eclipse.ecf \
-org.eclipse.ecf.filetransfer \
-org.eclipse.ecf.identity \
-org.eclipse.ecf.provider.filetransfer \
-org.eclipse.ecf.provider.filetransfer.ssl \
-org.eclipse.ecf.ssl \
-org.eclipse.ecf.provider.filetransfer.httpclient4 \
-org.eclipse.ecf.provider.filetransfer.httpclient4.ssl ; do
- mv ${f}_*.jar ${f}.jar
-done
-popd
+install -d -m 755 %{buildroot}%{_libdir}/eclipse/{features,plugins}
+
+unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.core.feature.zip
+unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.core.ssl.feature.zip
+unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.feature.zip
+unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.ssl.feature.zip
+unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.feature.zip
+unzip -q -n -d %{buildroot}%{_libdir} build/rpmBuild/org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.zip
+
+# Remove stuff that will be symlinked by the platform
+rm %{buildroot}%{_libdir}/eclipse/plugins/org.apache*
%files core
-%{_javadir}/ecf
+%{_libdir}/eclipse/features/*
+%{_libdir}/eclipse/plugins/*
%doc ecf/features/org.eclipse.ecf.core.feature/*.html
%changelog
+* Thu Nov 27 2014 Mat Booth <mat.booth at redhat.com> - 3.9.0-3
+- Make core package archful so it can be installed into libdir
+ where eclipse-platform expects it to be
+
* Tue Nov 18 2014 Mat Booth <mat.booth at redhat.com> - 3.9.0-2
- Rebuild for new commons-codec
More information about the scm-commits
mailing list