Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 3e7d8bca113befd7b7b122e05feecb96 > files > 13

jacorb-2.3.0-1.0.6mdv2009.0.src.rpm

# Copyright (c) 2000-2007, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

# If you want repolib package to be built,
# issue the following: 'rpmbuild --with repolib'

%define gcj_support 1

%define _with_repolib 1

%define with_repolib %{?_with_repolib:1}%{!?_with_repolib:0}
%define without_repolib %{!?_with_repolib:1}%{?_with_repolib:0}

%define repodir %{_javadir}/repository.jboss.com/jacorb/2.3.0jboss.patch4-brew
%define repodirlib %{repodir}/lib
%define repodirsrc %{repodir}/src

%define shortname jacorb

%define section devel

Summary:        Free Java implementation of OMG's CORBA standard
URL:            http://www.jacorb.org/
Source0:        http://www.jacorb.org/releases/2.3.0/JacORB-2.3.0-src.zip
Source1:        jacorb-jboss-component-info.xml
#Source2:       http://repository.jboss.com/jacorb/2.3.0jboss.patch3/resources/CSI.idl
#Source3:       http://repository.jboss.com/jacorb/2.3.0jboss.patch3/resources/CosTransactions.idl
Source4:        http://repository.jboss.com/jacorb/2.3.0jboss.patch3/resources/jacorb.properties
Source5:        http://repository.jboss.com/jacorb/2.3.0jboss.patch3/resources/orb.idl
Source6:        jacorb-idl-compiler-2.2.4.pom
Patch0:         jacorb-2.3.0-notification-build_xml.patch
Patch1:         jacorb-2.3.0-version.patch
# The size of a chunk should not include any bytes of padding that might have
# been added after the chunk for alignment purposes. This patch allows JacORB 
# to interoperate with the ORB in Sun's JDK 1.5 with chunking of custom RMI
# valuetypes enabled (jacorb.interop.chunk_custom_rmi_valuetypes=on), as it 
# should be per the CORBA spec. 
Patch2:         jacorb-2.3.0-chunk_size.patch
# In handle_chunking: change to distinguish a null value tag from
# a chunk size tag (the latter must be positive).
# In read_untyped_value and readChunkSizeTag: changes for correctness (to 
# ensure that chunk_end_pos is set to -1 if we are not within a chunk) and 
# for clarity.
Patch3:         jacorb-2.3.0-null_value_tag.patch
# Fix for bug #782 in JacORB's bugzilla system:
# The creation of an SSLServerSocket fails when JacORB 2.3.0 uses the JSSE
# included in Sun's JDK 1.4 and later releases. The problem is in the wrapper
# class JSSEUtil, which causes an IllegalAccessException to be thrown.
Patch4:         jacorb-2.3.0-JSSE.patch
# Fix for bug #783 in JacORB's bugzilla system:
# Server throws CORBA.INTERNAL (ArrayIndexOutOfBoundsException) when a client
# uses an IOR with a component tagged with TAG_CSI_SEC_MECH_LIST. When the 
# current implementation of the method 
# org.jacorb.orb.iiop.IIOPProfile.getTLSPortFromCSIComponent finds an IOR
# component that is tagged with TAG_CSI_SEC_MECH_LIST and has a non-empty list
# of security mechanisms, it assumes that the first mechanism listed has a 
# transport component tagged with TAG_TLS_SEC_TRANS. It tries to access the 
# data of the presumed TLS_SEC_TRANS component, without first checking the 
# component's tag. If this tag is TAG_NULL_TAG rather than TAG_TLS_SEC_TRANS, 
# then an ArrayIndexOutOfBoundsException occurs.
Patch5:         jacorb-2.3.0-IIOP.patch
# Fix for NPE on shutdown
Patch6:         jacorb-2.3.0-IIOP_Shutdown.patch
Patch7:         jacorb-2.3.0-no-classpath-in-manifest.patch

Name:           jacorb
Version:        2.3.0
Release:        %mkrel 1.0.6
Epoch:          0
License:        LGPL
Group:          Development/Java
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
%if %{gcj_support}
BuildRequires:  java-gcj-compat-devel
%else
BuildArch: noarch
%endif
BuildRequires:   java-rpmbuild >= 0:1.6
BuildRequires:   ant >= 0:1.6.5
BuildRequires:   antlr
BuildRequires:   concurrent
BuildRequires:   avalon-framework
BuildRequires:   excalibur-avalon-logkit
#BuildRequires:  backport-util-concurrent
BuildRequires:   jakarta-commons-collections
BuildRequires:   jakarta-commons-logging
BuildRequires:   tanukiwrapper
#BuildRequires:  picocontainer
BuildRequires:   xdoclet
BuildRequires:   xjavadoc
Requires:        jpackage-utils >= 0:1.6
Requires:        concurrent
Requires:        avalon-framework
Requires:        excalibur-avalon-logkit
Requires:        jakarta-commons-collections
Requires:        jakarta-commons-logging
Requires:        tanukiwrapper
#Optional:       picocontainer

%description
- high-performance, fully multithreaded ORB 
- IDL compiler, supports OMG IDL/Java language mapping 
  rev. 2.3, OBV 
- native IIOP, GIOP 1.2 and Bidirectional GIOP 
- POA (Portable Object Adapter) 
- AMI (Asynchronous Method Invocations) 
- ETF (Extensible Transport Framework) 
- POAMonitor, a GUI tools that lets you inspect your 
  object adapters (screenshot) 
- Dynamic Invocation Interface (DII) and Dynamic Skeleton 
  Interface (DSI) 
- Dynamic Management of Anys (DynAny) 
- Portable Interceptors (standard) 
- OMG Interoperable Naming Service 
- NameManager, a GUI browser for the name service 
  (requires Swing or JDK 1.2) (screenshot) 
- improved IIOP over SSL, includes KeyStoreManager 
- OMG Notification  and Event service 
- Transaction Service, Collection and Concurrency services 
- TradingService (supports trader links), an extension of 
  Mark Spruiell's free JTrader 
- CORBA 2.3 Code set support 
- Appligator, an IIOP proxy 
- Support for HTTP tunneling 
- Domain Manager, an object domain management service, 
  includes a domain browser GUI 
- Interface Repository 
- IRBrowser, a GUI front end for the Interface Repository
- Implementation Repository 
- Implementation Repository Manager, a GUI front end for 
  the Implementation Repository 
- IDL and Java source for all CORBA/COSS interfaces 
- examples and full source code included 
- 100% pure Java, JDK 1.3 and 1.4 compatible, also cooperates 
  with Sun's JDK 1.2 classes (releases prior to 1.4 are 
  compatible with JDK 1.1) 

ClassPath: antlr-2.7.2.jar:avalon-framework-4.1.5.jar:
logkit-1.2.jar:commons-collections-2.0.jar:commons-logging.jar:
wrapper-3.1.0.jar (see 'rpm --requires jacorb-jboss')
Note: To use on Java 1.4 add backport-util-concurrent.jar to the
ClassPath (from the RPM with the same name)
Note: To use the CORBA Notification Service add
picocontainer-1.2.jar to the ClassPath (from the 'picocontainer'
RPM).

%if %{with_repolib}
%package repolib
Summary:      Artifacts to be uploaded to a repository library
Group:        Development/Java

%description repolib
Artifacts to be uploaded to a repository library.
This package is not meant to be installed but so its contents
can be extracted through rpm2cpio
%endif

%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Java

%description javadoc
%{summary}

%package manual
Summary:        Documents for %{name}
Group:          Development/Java

%description manual
%{summary}

%package demo
Summary:        Usage examples for %{name}
Group:          Development/Java

%description demo
%{summary}

%prep
%setup -q -n JacORB
chmod -R go=u-w *
for j in $(find . -name "*.jar"); do
        rm $j
done

%patch0 -b .sav
%patch1 -b .sav
%patch2 -b .sav
%patch3 -b .sav
%patch4 -b .sav
%patch5 -b .sav
%patch6 -b .sav
%patch7 -p1

tag=`echo %{name}-%{version}-%{release} | sed 's|\.|_|g'`
sed -i "s/@TAG@/$tag/g" %{SOURCE1}

%{__perl} -pi -e 's/\r$//g' \
doc/HOWTO/HOWTO-WebLogic_integration.html \
doc/HOWTO/HOWTO-eclipse_integration.html \
doc/dds/style.css

%build
pushd lib
ln -sf $(build-classpath antlr) .
ln -sf $(build-classpath avalon-framework) .
#ln -sf $(build-classpath excalibur/avalon-framework-impl) .
#ln -sf $(build-classpath backport-util-concurrent) .
ln -sf $(build-classpath excalibur/avalon-logkit) .
#ln -sf $(build-classpath picocontainer) .
ln -sf $(build-classpath tanukiwrapper) .
pushd build
ln -sf $(build-classpath commons-collections) .
ln -sf $(build-classpath commons-logging) .
ln -sf $(build-classpath xdoclet/xdoclet) .
ln -sf $(build-classpath xdoclet/xdoclet-ejb-module) .
ln -sf $(build-classpath xdoclet/xdoclet-jboss-module) .
ln -sf $(build-classpath xdoclet/xdoclet-jmx-module) .
ln -sf $(build-classpath xdoclet/xdoclet-mx4j-module) .
ln -sf $(build-classpath xdoclet/xdoclet-web-module) .
ln -sf $(build-classpath xjavadoc) .
popd
popd
# Tests were not included with the 2.2.4 source zip
#pushd test/regression/lib
#ln -sf $(build-classpath easymock) .
#ln -sf $(build-classpath emma) .
#ln -sf $(build-classpath emma_ant) .
#ln -sf $(build-classpath junit) .
#popd

mkdir temp
#ant all doc
%{ant} convert.jdk5 jar idllib doc
for i in lib/*.jar ; do j=`basename $i` ; cp $i temp/${j/\.jar/_g.jar} ; done
%{ant} realclean
%{ant} -Ddebug=off convert.jdk5 jar idllib doc

%install
rm -rf $RPM_BUILD_ROOT

# remove DOS files
find . -name "*.exe" -exec rm {} \;
find . -name "*.bat" -exec rm {} \;

# jar
install -d -m 0755 $RPM_BUILD_ROOT%{_javadir}/%{name}
install -p -m 0644 lib/%{shortname}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{shortname}-%{version}.jar
install -p -m 0644 temp/%{shortname}_g.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{shortname}_g-%{version}.jar
install -p -m 0644 lib/idl.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/idl-%{version}.jar
install -p -m 0644 temp/idl_g.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/idl_g-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)

# pom
install -dm 0755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
install -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.jacorb-idl.pom
%add_to_maven_depmap org.jacorb jacorb-idl-compiler %{version} JPP/jacorb idl

# bin, etc, idl
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/bin
cp -pr bin/*   $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/bin
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/etc
cp -pr etc/*   $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/etc
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/idl
cp -pr idl/*   $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/idl

# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
cp -pr doc/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
rm -rf doc/api

# manual
install -d -m 0755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc
cp index.html   $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -pr doc/*   $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/doc

# demo
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/demo


%if %{with_repolib}
        install -d -m 755 $RPM_BUILD_ROOT%{repodir}
        install -d -m 755 $RPM_BUILD_ROOT%{repodir}/resources
        install -d -m 755 $RPM_BUILD_ROOT%{repodirlib}
        install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{repodir}/component-info.xml
        install -d -m 755 $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{PATCH0} $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{PATCH1} $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{PATCH2} $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{PATCH3} $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{PATCH4} $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{PATCH5} $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{PATCH6} $RPM_BUILD_ROOT%{repodirsrc}
        install -m 755 %{SOURCE0} $RPM_BUILD_ROOT%{repodirsrc}
#        install -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{repodir}/resources
        install -m 755 idl/omg/CSI.idl $RPM_BUILD_ROOT%{repodir}/resources
#        install -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{repodir}/resources
        install -m 755 idl/omg/CosTransactions.idl $RPM_BUILD_ROOT%{repodir}/resources
        install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{repodir}/resources
        install -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{repodir}/resources
        cp $RPM_BUILD_ROOT%{_javadir}/%{name}/idl_g.jar $RPM_BUILD_ROOT%{repodirlib}
        cp $RPM_BUILD_ROOT%{_javadir}/%{name}/%{shortname}_g.jar $RPM_BUILD_ROOT%{repodirlib}
        cp $RPM_BUILD_ROOT%{_javadir}/%{name}/%{shortname}.jar $RPM_BUILD_ROOT%{repodirlib}
        cp $RPM_BUILD_ROOT%{_javadir}/%{name}/idl.jar $RPM_BUILD_ROOT%{repodirlib}
        install -m 755 %{SOURCE0} $RPM_BUILD_ROOT%{repodirlib}
%endif

%if %{gcj_support}
%{_bindir}/aot-compile-rpm
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post
%update_maven_depmap
%if %{gcj_support}
  %{update_gcjdb}
%endif

%postun
%update_maven_depmap
%if %{gcj_support}
  %{clean_gcjdb}
%endif

%files
%defattr(-,root,root,-)
%{_javadir}/%{name}
%{_docdir}/%{name}-%{version}/doc/LICENSE
%dir %{_datadir}/%{name}-%{version}/bin
%attr(0755,root,root) %{_datadir}/%{name}-%{version}/bin/*
%{_datadir}/%{name}-%{version}/etc
%{_datadir}/%{name}-%{version}/idl
%{_datadir}/maven2/poms
%{_mavendepmapfragdir}
%dir %{_libdir}/gcj/%{name}
%attr(-,root,root) %{_libdir}/gcj/%{name}/*

%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}

%files manual
%defattr(0644,root,root,0755)
%{_docdir}/%{name}-%{version}

%files demo
%defattr(0644,root,root,0755)
%{_datadir}/%{name}-%{version}/demo

%if %{with_repolib}
%files repolib
%defattr(0644,root,root,0755)
%{repodir}
%endif


%changelog
* Thu Feb 14 2008 Thierry Vignaud <tvignaud@mandriva.com> 0:2.3.0-1.0.6mdv2009.0
+ Revision: 167929
- fix no-buildroot-tag
- kill re-definition of %%buildroot on Pixel's request

* Sun Dec 16 2007 Anssi Hannula <anssi@mandriva.org> 0:2.3.0-1.0.6mdv2008.1
+ Revision: 120901
- buildrequire java-rpmbuild, i.e. build with icedtea on x86(_64)

* Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 0:2.3.0-1.0.5mdv2008.0
+ Revision: 87397
- rebuild to filter out autorequires of GCJ AOT objects
- remove unnecessary Requires(post) on java-gcj-compat

  + David Walluck <walluck@mandriva.org>
    - maven support to allow use of idl compiler

* Fri Aug 24 2007 David Walluck <walluck@mandriva.org> 0:2.3.0-1.0.3mdv2008.0
+ Revision: 70794
- BuildRequires: excalibur-avalon-logkit, not avalon-logkit
- Import jacorb



* Tue Aug 21 2007 Alexander Kurtakov <akurtakov@active-lynx.com> 0:2.3.0-1.0.1mdv2008.0
- Use mdv macros
- Don't use all (missing picocontainer in mdv)

* Mon Aug 20 2007 Fernando Nasser <fnasser@redhat.com> 0:2.3.0-1jpp
- Upgrade

* Wed Jun 06 2007 Fernando Nasser <fnasser@redhat.com> 0:2.3.0-1jpp.ep1.1
- Add patch from Francisco Reverbel <reverbel@gmail.com>:
  Fix for NPE on shutdown

* Fri Jun 01 2007 Fernando Nasser <fnasser@redhat.com> 0:2.3.0-0jpp.el4ep1.4
- Add patch from Francisco Reverbel <reverbel@gmail.com>:
  Fix for bug #783 in JacORB's bugzilla system

* Thu May 31 2007 Fernando Nasser <fnasser@redhat.com> 0:2.3.0-0jpp.el4ep1.3
- Add patch from Francisco Reverbel <reverbel@gmail.com>:
  Fix for bug #782 in JacORB's bugzilla system

* Thu May 31 2007 Fernando Nasser <fnasser@redhat.com> 0:2.3.0-0jpp.el4ep1.2
- Add missing patch files to repolib src subdir

* Mon May 28 2007 Fernando Nasser <fnasser@redhat.com> 0:2.3.0-0jpp.el4ep1.1
- Upgrade to 2.3.0, with patches

* Tue Mar 13 2007 Fernando Nasser <fnasser@redhat.com> 0:2.2.4-0.1.patch01.ep1.1
- Rebuild

* Thu Mar 08 2007 Fernando Nasser <fnasser@redhat.com> 0:2.2.4-0.1.patch01.el4ep1.5
- Make picocontainer optional

* Fri Mar 1 2007 Vivek Lakshmanan <vivekl@redhat.com> 0:2.2.4-0.1.patch01.el4ep1.4
- Avoid conflict with jacorb and install in jacorb-jboss directories
- Add /usr/share/java/repository.jboss.com as base directory for repolib file 
  installations

* Thu Feb 28 2007 Vivek Lakshmanan <vivekl@redhat.com> 0:2.2.4-0.1.patch01.el4ep1.3
- Add repolib support

* Wed Feb 27 2007 Vivek Lakshmanan <vivekl@redhat.com> 0:2.2.4-0.1.patch01.el4ep1.2
- Build for EP (for real)

* Wed Feb 27 2007 Vivek Lakshmanan <vivekl@redhat.com> 0:2.2.4-0.1.patch01.el4ep1.1
- First build for EP

* Sun Feb 18 2007 Fernando Nasser <fnasser@redhat.com> 0:2.2.4-1jpp.el4ep1.1
- Merge with upstream

* Sun Feb 18 2007 Fernando Nasser <fnasser@redhat.com> 0:2.2.4-2jpp
- Add missing requires

* Sun Feb 18 2007 Fernando Nasser <fnasser@redhat.com> 0:2.2.4-1jpp
- Upgrade

* Tue Aug 01 2006 Fernando Nasser <fnasser@redhat.com> 0:2.2.3-2jpp_1rh
- Merge with upstream

* Tue Aug 01 2006 Fernando Nasser <fnasser@redhat.com> 0:2.2.3-2jpp
- Add missing header
- Add missing dependency on picocontainer

* Fri Jul 21 2006 Ralph Apel <r.apel@r-apel.de> 0:2.2.3-1jpp
- Upgrade to 2.2.3
- First JPP-1.7 release

* Wed Jul 13 2005 Fernando Nasser <fnasser@redhat.com> 0:2.2.2-1jpp_3rh
- Backport fixes from Archit Shah <ashah@redhat.com>

* Wed Jul 13 2005 Fernando Nasser <fnasser@redhat.com> 0:2.2.2-1jpp_2rh
- Rebuild

* Fri Jun 17 2005 Fernando Nasser <fnasser@redhat.com> 0:2.2.2-1jpp_1rh
- Merge with upstream for upgrade

* Fri Jun 17 2005 Fernando Nasser <fnasser@redhat.com> 0:2.2.2-1jpp
- Upgrade to 2.2.2

* Mon Dec 20 2004 Fernando Nasser <fnasser at redhat.com> 0:2.2-3jpp_1rh
- First Red Hat Release

* Sat Dec 04 2004 Ralph Apel <r.apel at r-apel.de> 0:2.2-3jpp
- Include contents of bin, etc, idl
- TODO: which files from bin should go into _bindir

* Sun Aug 23 2004 Randy Watler <rwatler at finali.com> - 0:2.2-2jpp
- Rebuild with ant-1.6.2

* Fri Jul 30 2004 Ralph Apel <r.apel at r-apel.de> 0:2.2-1jpp
- First JPackage release