Name: oscar Epoch: 0 Version: 1.0.5 Release: 1%{?dist} Summary: OSGI Framework Group: Development/Libraries License: ASL 1.1, BSD Style, CeCILL, GPL URL: http://oscar.objectweb.org Source0: http://download.forge.objectweb.org/oscar/oscar-1.0.5.jar # see oscar-1.0.5-bundles.txt Source1: oscar-1.0.5-bundles.tar.gz Source2: oscar-insajmx-agent-build.xml Source3: oscar-insajmx-registry-build.xml Source4: oscar-insajmx-rmiconnector-build.xml # see oscar-1.0.5-insajmx-httpconnector.txt Source5: oscar-1.0.5-insajmx-httpconnector.tar.gz Source6: oscar-1.0.5-bundles.txt Source7: oscar-1.0.5-insajmx-httpconnector.txt Patch0: oscar-1.0.5-simple-build_xml.patch Patch1: oscar-osgi-util-build_xml.patch Patch2: oscar-wireadmincmd-build_xml.patch Patch3: oscar-1.0.5-servicebinder-kxml2.patch Patch4: oscar-1.0.5-bundlerepository-kxml2-1.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: ant BuildRequires: felix-osgi-compendium BuildRequires: felix-osgi-core BuildRequires: kxml BuildRequires: mx4j BuildRequires: siena BuildRequires: tomcat-servlet-3.0-api BuildRequires: xmlrpc Requires: xml-commons-apis Requires: java Requires: jpackage-utils BuildArch: noarch %description Oscar is an open source implementation of the Open Services Gateway Initiative (OSGi) framework specification; the goal is to provide a completely compliant implementation of the OSGi framework specification. Oscar is currently compliant with a large portion of the OSGi 3 specifications, although certain compliance work still needs to be completed. Despite this fact, the OSGi framework functionality provided by Oscar is very stable and is in use by many people. Even though OSGi targets the embedded device market, the framework is ideally suited for experimenting with component-oriented and service-oriented computing in general. For example, Oscar can be easily embedded into other projects and used as a plugin or extension mechanism; it serves this purpose much better than other systems that are used for similar purposes, such as Java Management Extensions (JMX). %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc OSGI Framework. This package contains javadoc for %{name}. %prep %setup -c -q -n %{name}_%{version} jar xf org/ungoverned/oscar/installer/resource/src.jar mkdir oscar-bundles ( cd oscar-bundles gzip -dc %{SOURCE1} | tar xf - rm oscar-shellplugin-src.jar rm oscar-tv-1.0.3-src.jar rm oscar-upnpbasedriver-2.0.0-src.jar ) ( cd src-bundle for j in ../oscar-bundles/*.jar; do jar xf $j done gzip -dc %{SOURCE5} | tar xf - rm -rf osgiprov ) cp %{SOURCE2} src-bundle/insajmx/agent/build.xml cp %{SOURCE3} src-bundle/insajmx/registry/build.xml cp %{SOURCE4} src-bundle/insajmx/rmiconnector/build.xml %patch0 -b .sav %patch1 -b .sav %patch2 -b .sav %patch3 -p0 %patch4 -p0 # src-bundle/insajmx/agent/src/core/mx4j/server/MBeanIntrospector.java\ # src-bundle/insajmx/agent/src/osgi/insa/jmx/agent/AgentActivator.java\ # fix non ASCII chars for s in src-bundle/jmxosgi/src/insa/jmxosgi/logger/Logger.java\ src-bundle/jmxosgi/src/insa/jmxosgi/logger/LoggerMBean.java\ src-bundle/mp3player/src/insa/mp3/PlayerActivator.java\ src-bundle/osgidev/src/insa/device/services/devicemanager/DeviceManager.java\ src-bundle/osgidev/src/insa/device/services/devicemanager/DeviceManagerActivator.java\ src-bundle/osgidev/src/insa/device/services/devicemanager/DriverReference.java\ src-bundle/osgidev/src/insa/device/services/driverlocator/DriverLocatorActivator.java\ src-bundle/osgidev/src/insa/device/services/driverlocator/DriverLocatorImpl.java\ src-bundle/osgidev/src/insa/device/tools/httpresources/Activator.java\ src-bundle/osgidev/src/insa/device/tools/logger/Logger.java;do native2ascii -encoding UTF8 ${s} ${s} done # remove all binary libs find -name '*.class' -exec rm -f '{}' \; find -name '*.jar' -exec rm -f '{}' \; sed -i "s|pa.getExportedPackages(null);| pa.getExportedPackages((Bundle)null);|" src-bundle/shell/src/org/ungoverned/osgi/bundle/shell/PackagesCommandImpl.java \ src-bundle/bundlerepository/src/org/ungoverned/osgi/bundle/bundlerepository/BundleRepositoryServiceImpl.java ln -sf ../../../bundle/bundlerepository.jar src-bundle/httpshell/lib ln -sf ../../../bundle/bundlerepository.jar src-bundle/jmxosgi/lib ln -sf ../../../lib/oscar.jar src-bundle/jmxosgi/lib mkdir -p temp-shell temp-tablelayout ln -sf ../../../temp-shell/shell.jar src-bundle/bundlerepository/lib ln -sf ../../../temp-shell/shell.jar src-bundle/httpshell/lib ln -sf ../../../temp-shell/shell.jar src-bundle/PermissionAdminCommands/lib ln -sf ../../../temp-shell/shell.jar src-bundle/Preferences/lib ln -sf ../../../temp-shell/shell.jar src-bundle/mp3player/lib ln -sf ../../../temp-shell/shell.jar src-bundle/shellextra/lib ln -sf ../../../temp-shell/shell.jar src-bundle/shelltui/lib ln -sf ../../../temp-shell/shell.jar src-bundle/telnetd/lib ln -sf ../../../temp-shell/shell.jar src-bundle/wireadmincmd/lib ln -sf ../../../temp-tablelayout/tablelayout.jar src-bundle/permissionmanager/lib ln -sf ../../../temp-tablelayout/tablelayout.jar src-bundle/servicelookup/lib ln -sf ../../../temp-tablelayout/tablelayout.jar src-bundle/serviceregister/lib ln -sf ../../../temp-tablelayout/tablelayout.jar src-bundle/shellgui/lib ln -sf ../../../temp-tablelayout/tablelayout.jar src-bundle/tinygui/lib %build # TODO rm -rf src-bundle/binarylight rm -rf src-bundle/clock rm -rf src-bundle/insajmx rm -rf src-bundle/telnetd export CLASSPATH=$(build-classpath felix/org.osgi.core felix/org.osgi.compendium kxml mx4j/mx4j siena tomcat-servlet-api xmlrpc) ( cd src-bundle/shell ant -Dbuild.sysclasspath=first all mv shell.jar ../../temp-shell rm -rf classes ) ( cd src-bundle/tablelayout ant -Dbuild.sysclasspath=first all mv tablelayout.jar ../../temp-tablelayout rm -rf classes ) ( cd src-bundle/serviceregister ant -Dbuild.sysclasspath=first all mv serviceregister.jar ../servicelookup/lib rm -rf classes ) ant -Dbuild.sysclasspath=first all apidoc %install mkdir -p %{buildroot}%{_javadir}/%{name}/bundle install -m 644 lib/moduleloader.jar \ %{buildroot}%{_javadir}/%{name}/moduleloader.jar install -m 644 lib/oscar.jar \ %{buildroot}%{_javadir}/%{name}/oscar.jar install -m 644 lib/osgi.jar \ %{buildroot}%{_javadir}/%{name}/osgi.jar install -m 644 bundle/bundlerepository.jar \ %{buildroot}%{_javadir}/%{name}/bundle/bundlerepository.jar install -m 644 bundle/contenthandler.jar \ %{buildroot}%{_javadir}/%{name}/bundle/contenthandler.jar install -m 644 bundle/controlpoint-1.1.2-bin.jar \ %{buildroot}%{_javadir}/%{name}/bundle/controlpoint.jar install -m 644 bundle/datastreamhandler.jar \ %{buildroot}%{_javadir}/%{name}/bundle/datastreamhandler.jar install -m 644 bundle/handlertest.jar \ %{buildroot}%{_javadir}/%{name}/bundle/handlertest.jar install -m 644 bundle/httpadmin.jar \ %{buildroot}%{_javadir}/%{name}/bundle/httpadmin.jar install -m 644 bundle/httpshell.jar \ %{buildroot}%{_javadir}/%{name}/bundle/httpshell.jar install -m 644 bundle/httptest.jar \ %{buildroot}%{_javadir}/%{name}/bundle/httptest.jar install -m 644 bundle/introspector.jar \ %{buildroot}%{_javadir}/%{name}/bundle/introspector.jar install -m 644 bundle/log.jar \ %{buildroot}%{_javadir}/%{name}/bundle/log.jar install -m 644 bundle/mbeanfactory.jar \ %{buildroot}%{_javadir}/%{name}/bundle/mbeanfactory.jar install -m 644 bundle/notification.jar \ %{buildroot}%{_javadir}/%{name}/bundle/notification.jar install -m 644 bundle/osgimbean_2.0.5.jar \ %{buildroot}%{_javadir}/%{name}/bundle/osgimbean_2.0.5.jar install -m 644 bundle/osgi-service.jar \ %{buildroot}%{_javadir}/%{name}/bundle/osgi-service.jar install -m 644 bundle/osgi-util.jar \ %{buildroot}%{_javadir}/%{name}/bundle/osgi-util.jar install -m 644 bundle/PermissionAdminCommands.jar \ %{buildroot}%{_javadir}/%{name}/bundle/PermissionAdminCommands.jar install -m 644 bundle/PermissionAdmin.jar \ %{buildroot}%{_javadir}/%{name}/bundle/PermissionAdmin.jar install -m 644 bundle/permissionmanager.jar \ %{buildroot}%{_javadir}/%{name}/bundle/permissionmanager.jar install -m 644 bundle/Preferences.jar \ %{buildroot}%{_javadir}/%{name}/bundle/Preferences.jar install -m 644 bundle/remotelogger_0.1.2.jar \ %{buildroot}%{_javadir}/%{name}/bundle/remotelogger.jar install -m 644 bundle/servicebinder.jar \ %{buildroot}%{_javadir}/%{name}/bundle/servicebinder.jar install -m 644 bundle/servicelookup.jar \ %{buildroot}%{_javadir}/%{name}/bundle/servicelookup.jar install -m 644 bundle/servicenotifier.jar \ %{buildroot}%{_javadir}/%{name}/bundle/servicenotifier.jar install -m 644 bundle/serviceregister.jar \ %{buildroot}%{_javadir}/%{name}/bundle/serviceregister.jar install -m 644 bundle/servlet.jar \ %{buildroot}%{_javadir}/%{name}/bundle/servlet.jar install -m 644 bundle/shellextension.jar \ %{buildroot}%{_javadir}/%{name}/bundle/shellextension.jar install -m 644 bundle/shellextra.jar \ %{buildroot}%{_javadir}/%{name}/bundle/shellextra.jar install -m 644 bundle/shellgui.jar \ %{buildroot}%{_javadir}/%{name}/bundle/shellgui.jar install -m 644 bundle/shell.jar \ %{buildroot}%{_javadir}/%{name}/bundle/shell.jar install -m 644 bundle/shellmbean.jar \ %{buildroot}%{_javadir}/%{name}/bundle/shellmbean.jar install -m 644 bundle/shelltui.jar \ %{buildroot}%{_javadir}/%{name}/bundle/shelltui.jar install -m 644 bundle/simple.jar \ %{buildroot}%{_javadir}/%{name}/bundle/simple.jar install -m 644 bundle/tablelayout.jar \ %{buildroot}%{_javadir}/%{name}/bundle/tablelayout.jar install -m 644 bundle/urlhandlers.jar \ %{buildroot}%{_javadir}/%{name}/bundle/urlhandlers.jar install -m 644 bundle/wireadmincmd.jar \ %{buildroot}%{_javadir}/%{name}/bundle/wireadmincmd.jar install -m 644 bundle/xmlrpc.jar \ %{buildroot}%{_javadir}/%{name}/bundle/xmlrpc.jar mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr doc/api/* %{buildroot}%{_javadocdir}/%{name} %files %dir %{_javadir}/%{name} %{_javadir}/%{name}/moduleloader.jar %{_javadir}/%{name}/%{name}.jar %{_javadir}/%{name}/osgi.jar %{_javadir}/%{name}/bundle/*.jar %doc src-bundle/*.txt %files javadoc %{_javadocdir}/%{name} %doc src-bundle/LICENSE.txt %changelog * Sun Apr 01 2012 gil cattaneo - 0:1.0.5-1 - initial rpm