!1 Package init

Merge pull request !1 from lyn/master
This commit is contained in:
openeuler-ci-bot 2020-09-01 18:01:02 +08:00 committed by Gitee
commit 37806d2c9c
4 changed files with 328 additions and 0 deletions

View File

@ -0,0 +1,132 @@
--- releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/feature.xml.orig 2018-05-15 10:08:53.167669287 +0100
+++ releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/feature.xml 2018-05-15 10:10:29.460140752 +0100
@@ -27,6 +27,10 @@
<requires>
<import feature="org.eclipse.ecf.filetransfer.feature" version="3.9.0" match="compatible"/>
+ <import plugin="org.apache.commons.codec" />
+ <import plugin="org.apache.commons.logging" />
+ <import plugin="org.apache.httpcomponents.httpclient" />
+ <import plugin="org.apache.httpcomponents.httpcore" />
</requires>
<plugin
@@ -34,34 +38,6 @@
download-size="0"
install-size="0"
version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.codec"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.commons.logging"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.httpcomponents.httpclient"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.apache.httpcomponents.httpcore"
- download-size="0"
- install-size="0"
- version="0.0.0"
unpack="false"/>
</feature>
--- releng/features/org.eclipse.ecf.discovery.dnssd.feature/feature.xml.orig 2016-09-15 16:17:49.933927862 +0100
+++ releng/features/org.eclipse.ecf.discovery.dnssd.feature/feature.xml 2016-09-15 16:19:27.324810394 +0100
@@ -27,6 +27,7 @@
<requires>
<import feature="org.eclipse.ecf.discovery.feature" version="1.0.0" match="compatible"/>
+ <import plugin="org.xbill.dns"/>
</requires>
<plugin
@@ -34,13 +35,6 @@
download-size="0"
install-size="0"
version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.xbill.dns"
- download-size="0"
- install-size="0"
- version="0.0.0"
unpack="false"/>
</feature>
--- releng/features/org.eclipse.ecf.remoteservice.rosgi.feature/feature.xml.orig 2018-05-15 10:06:12.993548459 +0100
+++ releng/features/org.eclipse.ecf.remoteservice.rosgi.feature/feature.xml 2018-05-15 10:06:50.070344950 +0100
@@ -32,6 +32,7 @@
<requires>
<import feature="org.eclipse.ecf.provider.generic.feature" version="1.0" match="compatible"/>
<import feature="org.eclipse.ecf.remoteservice.feature" version="2.1" match="compatible"/>
+ <import plugin="org.objectweb.asm" />
</requires>
<plugin
@@ -46,13 +47,6 @@
download-size="0"
install-size="0"
version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.objectweb.asm"
- download-size="0"
- install-size="0"
- version="0.0.0"
unpack="false"/>
</feature>
--- releng/features/org.eclipse.ecf.remoteservice.servlet.feature/feature.xml.orig 2016-12-04 06:16:14.000000000 +0000
+++ releng/features/org.eclipse.ecf.remoteservice.servlet.feature/feature.xml 2017-01-04 12:05:48.238868061 +0000
@@ -50,11 +50,4 @@
version="0.0.0"
unpack="false"/>
- <plugin
- id="javax.servlet"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
</feature>
--- releng/features/org.eclipse.ecf.xmpp.feature/feature.xml.orig 2017-01-04 12:35:24.342531553 +0000
+++ releng/features/org.eclipse.ecf.xmpp.feature/feature.xml 2017-01-04 12:36:03.274095480 +0000
@@ -30,6 +30,7 @@
<import feature="org.eclipse.ecf.presence.feature" version="1.0" match="compatible"/>
<import feature="org.eclipse.ecf.datashare.feature" version="1.0" match="compatible"/>
<import feature="org.eclipse.ecf.remoteservice.feature" version="2.1" match="compatible"/>
+ <import plugin="org.xbill.dns"/>
</requires>
<plugin
@@ -62,11 +63,4 @@
fragment="true"
unpack="false"/>
- <plugin
- id="org.xbill.dns"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
</feature>

192
eclipse-ecf.spec Normal file
View File

@ -0,0 +1,192 @@
%global _eclipsedir %{_prefix}/lib/eclipse
%global __requires_exclude .*org\.eclipse\.equinox.*
%global git_tag 5d501929b628b6aa6d28b2f5df73fc45c0fa1945
%bcond_without providers
%bcond_with bootstrap
Name: eclipse-ecf
Version: 3.14.4
Release: 1
Summary: Eclipse Communication Framework (ECF) Eclipse plug-in
License: EPL-1.0 and ASL 2.0
URL: http://www.eclipse.org/ecf/
Source0: http://git.eclipse.org/c/ecf/org.eclipse.ecf.git/snapshot/org.eclipse.ecf-%{git_tag}.tar.xz
Patch0: eclipse-ecf-feature-deps.patch
BuildRequires: tycho tycho-extras maven-plugin-build-helper eclipse-license osgi-annotation
BuildRequires: xpp3-minimal httpcomponents-client httpcomponents-core apache-commons-codec
BuildRequires: apache-commons-logging
%if %{without bootstrap}
BuildRequires: eclipse-emf-runtime eclipse-pde
%if %{with providers}
BuildRequires: dnsjava irclib
%endif
%endif
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: httpcomponents-client httpcomponents-core
%description core
ECF bundles required by eclipse-platform.
%if %{without bootstrap}
%package runtime
Summary: Eclipse Communication Framework (ECF) Eclipse plug-in
%description runtime
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 sdk
Summary: Eclipse ECF SDK
%description sdk
Documentation and developer resources for the Eclipse Communication Framework
(ECF) plug-in.
%endif
%prep
%setup -q -n org.eclipse.ecf-%{git_tag}
find . -type f -name "*.jar" -exec rm {} \;
find . -type f -name "*.class" -exec rm {} \;
%patch0
%pom_xpath_remove "feature/plugin[@id='org.eclipse.ecf.presence']" releng/features/org.eclipse.ecf.core/feature.xml
sed -i -e '/org.objectweb.asm/s/7/8/' protocols/bundles/ch.ethz.iks.r_osgi.remote/META-INF/MANIFEST.MF
sed -i -e '/<module>examples/d' -e '/<module>tests/d' pom.xml
%pom_disable_module releng/features/org.eclipse.ecf.tests.feature
%pom_disable_module releng/features/org.eclipse.ecf.eventadmin.examples.feature
%pom_disable_module releng/features/org.eclipse.ecf.remoteservice.examples.feature
%pom_disable_module releng/features/org.eclipse.ecf.remoteservice.sdk.examples.feature
%pom_xpath_remove "feature/requires/import[@feature='org.eclipse.ecf.remoteservice.sdk.examples.feature']" releng/features/org.eclipse.ecf.core/feature.xml
%pom_xpath_remove "feature/plugin[@id='org.eclipse.ecf.example.clients']" releng/features/org.eclipse.ecf.core/feature.xml
%pom_xpath_remove "feature/plugin[@id='org.eclipse.ecf.example.collab']" releng/features/org.eclipse.ecf.core/feature.xml
%pom_xpath_remove "pom:target"
%pom_xpath_remove "pom:plugin[pom:artifactId='tycho-packaging-plugin']/pom:dependencies"
%pom_xpath_remove "pom:plugin[pom:artifactId='tycho-packaging-plugin']/pom:configuration/pom:sourceReferences"
%pom_xpath_remove "pom:plugin[pom:artifactId='tycho-packaging-plugin']/pom:configuration/pom:timestampProvider"
%pom_disable_module releng/org.eclipse.ecf.releng.repository
%pom_xpath_remove "feature/requires/import[@plugin='org.json']" releng/features/org.eclipse.ecf.remoteservice.rest.feature/feature.xml
%pom_disable_module releng/features/org.eclipse.ecf.discovery.zookeeper.feature
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.zookeeper
%pom_xpath_remove "feature/includes[@id='org.eclipse.ecf.discovery.zookeeper.feature']" releng/features/org.eclipse.ecf.remoteservice.sdk.feature/feature.xml
%pom_disable_module releng/features/org.eclipse.ecf.remoteservice.rest.synd.feature
%pom_disable_module framework/bundles/org.eclipse.ecf.remoteservice.rest.synd
%pom_disable_module releng/features/org.eclipse.ecf.discovery.slp.feature
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.jslp
%pom_disable_module protocols/bundles/ch.ethz.iks.slp
%pom_xpath_remove "feature/includes[@id='org.eclipse.ecf.discovery.slp.feature']" releng/features/org.eclipse.ecf.remoteservice.sdk.feature/feature.xml
%if %{without providers}
%pom_disable_module releng/features/org.eclipse.ecf.discovery.dnssd.feature
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.dnssd
%pom_disable_module protocols/bundles/org.jivesoftware.smack
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.xmpp.datashare
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.xmpp
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.xmpp.remoteservice
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.xmpp.ui
%pom_disable_module releng/features/org.eclipse.ecf.xmpp.feature
%pom_xpath_remove "feature/plugin[@id='org.eclipse.ecf.provider.xmpp.ui']" releng/features/org.eclipse.ecf.core/feature.xml
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.irc
%pom_disable_module providers/bundles/org.eclipse.ecf.provider.irc.ui
%pom_xpath_remove "feature/plugin[@id='org.eclipse.ecf.provider.irc']" releng/features/org.eclipse.ecf.core/feature.xml
%pom_xpath_remove "feature/plugin[@id='org.eclipse.ecf.provider.irc.ui']" releng/features/org.eclipse.ecf.core/feature.xml
%endif
ln -s $(build-classpath osgi-annotation) osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/osgi/osgi.annotation.jar
%if %{with providers}
ln -s $(build-classpath xpp3-minimal) protocols/bundles/org.jivesoftware.smack/jars/xpp.jar
echo "Eclipse-BundleShape: dir" >> protocols/bundles/org.jivesoftware.smack/META-INF/MANIFEST.MF
ln -s $(build-classpath irclib) providers/bundles/org.eclipse.ecf.provider.irc/lib/irclib.jar
echo "Eclipse-BundleShape: dir" >> providers/bundles/org.eclipse.ecf.provider.irc/META-INF/MANIFEST.MF
%endif
%if %{with bootstrap}
%pom_xpath_replace "pom:modules" "<modules>
<module>releng/features/org.eclipse.ecf.core.feature</module>
<module>releng/features/org.eclipse.ecf.core.ssl.feature</module>
<module>releng/features/org.eclipse.ecf.filetransfer.feature</module>
<module>releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature</module>
<module>releng/features/org.eclipse.ecf.filetransfer.httpclient4.ssl.feature</module>
<module>releng/features/org.eclipse.ecf.filetransfer.ssl.feature</module>
<module>framework/bundles/org.eclipse.ecf</module>
<module>framework/bundles/org.eclipse.ecf.identity</module>
<module>framework/bundles/org.eclipse.ecf.filetransfer</module>
<module>framework/bundles/org.eclipse.ecf.ssl</module>
<module>providers/bundles/org.eclipse.ecf.provider.filetransfer</module>
<module>providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4</module>
<module>providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl</module>
<module>providers/bundles/org.eclipse.ecf.provider.filetransfer.ssl</module>
</modules>"
%endif
sed -i -e '/Require-Bundle:/a\ org.eclipse.osgi.services,' framework/bundles/org.eclipse.ecf.console/META-INF/MANIFEST.MF
%mvn_package "::{pom,target}::" __noinstall
%if %{with bootstrap}
%mvn_package "::jar:{sources,sources-feature}:" __noinstall
%else
%mvn_package "::jar:{sources,sources-feature}:" sdk
%endif
%mvn_package ":org.eclipse.ecf.{core,sdk}" sdk
%mvn_package ":org.eclipse.ecf.docshare*" sdk
for p in $(grep '<plugin' releng/features/org.eclipse.ecf.core/feature.xml | sed -e 's/.*id="\(.*\)" d.*/\1/') ; do
%mvn_package ":$p" sdk
done
%mvn_package ":*.ui" sdk
%mvn_package ":*.ui.*" sdk
%mvn_package ":org.eclipse.ecf.remoteservice.sdk.*" sdk
%mvn_package ":org.eclipse.ecf.core.{,ssl.}feature"
%mvn_package ":org.eclipse.ecf.filetransfer.{,httpclient4.}{,ssl.}feature"
%mvn_package ":org.eclipse.ecf{,.identity,.ssl,.filetransfer}"
%mvn_package ":org.eclipse.ecf.provider.filetransfer*"
%mvn_package ":" runtime
%build
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
%mvn_build -j -- -DforceContextQualifier=$QUALIFIER
%install
%mvn_install
install -d -m 755 %{buildroot}%{_eclipsedir}
mv %{buildroot}%{_datadir}/eclipse/droplets/ecf/{plugins,features} %{buildroot}%{_eclipsedir}
rm -r %{buildroot}%{_datadir}/eclipse/droplets/ecf
sed -i -e 's|%{_datadir}/eclipse/droplets/ecf|%{_eclipsedir}|' %{buildroot}%{_datadir}/maven-metadata/eclipse-ecf.xml
sed -i -e 's|%{_datadir}/eclipse/droplets/ecf/features/|%{_eclipsedir}/features/|' \
-e 's|%{_datadir}/eclipse/droplets/ecf/plugins/|%{_eclipsedir}/plugins/|' .mfiles
sed -i -e '/droplets/d' .mfiles
for del in $( (cd %{buildroot}%{_eclipsedir}/plugins && ls | grep -v -e '^org\.eclipse\.ecf' ) ) ; do
rm %{buildroot}%{_eclipsedir}/plugins/$del
sed -i -e "/$del/d" .mfiles
done
install -d -m 755 %{buildroot}%{_javadir}/eclipse
location=%{_eclipsedir}/plugins
while [ "$location" != "/" ] ; do
location=$(dirname $location)
updir="$updir../"
done
pushd %{buildroot}%{_javadir}/eclipse
for J in ecf{,.identity,.ssl,.filetransfer,.provider.filetransfer{,.ssl,.httpclient4{,.ssl}}} ; do
DIR=$updir%{_eclipsedir}/plugins
[ -e "`ls $DIR/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/org.eclipse.${J}_*.jar ${J}.jar
done
popd
%if %{without bootstrap}
%if %{with providers}
pushd %{buildroot}%{_datadir}/eclipse/droplets/ecf-sdk/plugins/org.eclipse.ecf.provider.irc_*
rm lib/irclib.jar && ln -s $(build-classpath irclib) lib/irclib.jar
popd
pushd %{buildroot}%{_datadir}/eclipse/droplets/ecf-runtime/plugins/org.jivesoftware.smack_*
rm jars/xpp.jar && ln -s $(build-classpath xpp3-minimal) jars/xpp.jar
popd
%endif
%endif
%files core -f .mfiles
%{_javadir}/eclipse/*
%if %{without bootstrap}
%files runtime -f .mfiles-runtime
%files sdk -f .mfiles-sdk
%endif
%changelog
* Thu Aug 27 2020 yanan li <liyanan032@huawei.com> - 3.14.4-1
- Package init

4
eclipse-ecf.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: git
src_repo: http://git.eclipse.org/r/ecf/org.eclipse.ecf.git
tag_prefix: "ECF_"
seperator: "_"