Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > media > contrib-src > by-pkgid > bf33ea9ea1f2ea37f84c1eb23638ff14 > files > 6

omniorb-3.05-2mdk.src.rpm

%define version       3.05
%define release       2mdk
%define name          omniorb
%define lib_name_orig omniorb
%define lib_major     3
%define lib_name      lib%{lib_name_orig}%{lib_major}
%define py_ver        2.2

# virtual (ie empty) package to enforce naming convention

Summary: Object Request Broker (ORB) from AT&T (CORBA 2.3)
Name:		%{name}
Version:	%{version}
Release:	%{release}
License:	GPL
Group:		System/Libraries
Source0:	omniORB_304.tar.bz2
Source1:	omniEvents_2.1.1.tar.bz2
Source2: 	omniORB.cfg
Source3:	omninames
Source4:	omniORBpy_1_4.tar.bz2
URL:		http://www.uk.research.att.com/omniORB/
BuildRequires:	perl tcl tk glibc-devel
BuildRequires:	python >= %{py_ver}
BuildRequires:	libpython-devel >=  %{py_ver}
Provides:       corba
BuildRoot:	%{_tmppath}/%{lib_name}-buildroot
Requires: %{lib_name} = %version
ExclusiveArch: ppc i586

# Setting multiarch
%ifarch ppc
%define platform powerpc_linux_2.2_glibc
%define platform_gcc %{platform}
%endif
%ifarch i586
%define platform i586_linux_2.0_glibc2.1
%define platform_gcc %{platform}_gcc2.96
%endif


%description
omniORB3 is an Object Request Broker (ORB) from AT&T which implements
specification 2.3 of the Common Object Request Broker Architecture (CORBA).

# main package (contains *.so.[major].*, and binaries)

%package -n %{lib_name}
Summary:        Object Request Broker (ORB) from AT&T (CORBA 2.3)
Group:          System/Libraries
Provides:       %{name} = %{version}-%{release}

%description -n %{lib_name}
This package contains the library needed to run programs dynamically
linked with %{lib_name_orig}.

# devel part of the bundle

%package -n %{lib_name}-devel
Summary:	Header files and libraries needed for %{name} development
Group:		Development/C++
Requires:       %{lib_name} = %{version}-%{release}
Provides:       libomniorb-devel = %{version}-%{release} %{name}-devel = %{version}-%{release}

%description -n %{lib_name}-devel
This package includes the header files and libraries needed for
developing programs using %{name}.

# docs and examples are in a separate package

%package -n %{lib_name}-doc
Summary:	Header files and libraries needed for %{name} development
Group:		Development/C++
Requires:	%{name} = %{version}
# BuildArch:      noarch

%description -n %{lib_name}-doc
This package includes developers doc including examples.

%prep 

%setup -n omni -q

pushd src/lib
tar xyvf %SOURCE4
popd


# setting architecture to i386+linux-2.x+glibc2.x
perl -pi -e 's/#platform = %{platform}/platform = %{platform_gcc}/' config/config.mk

# strange include path
perl -pi -e "s|/external_merge||" mk/platforms/%{platform_gcc}.mk

# changing the path to python
#not really needed since %{platform_gcc}.mk supercedes it
perl -pi -e 's|#PYTHON = /usr/local/bin/python|PYTHON = /usr/bin/python|' mk/platforms/%{platform}.mk

# I don't like their default name for their configuration file
perl -pi -e 's|/project/omni/var/omniORB_NEW.cfg|/etc/omniORB.cfg|' mk/platforms/%{platform_gcc}.mk

# I don't like their path for log files
perl -pi -e 's|/var/omninames|/var/log/omninames|' mk/platforms/%{platform}.mk

# changing the path to jar
perl -pi -e 's/JAR = \/usr\/local\/java\/bin\/jar/JAR = \/usr\/bin\/jar/' mk/platforms/%{platform_gcc}.mk

# changing the path to classes.zip
perl -pi -e 's/JAVA_SYSTEM_CLASSES = \/usr\/local\/java\/lib\/classes.zip/JAVA_SYSTEM_CLASSES = \/usr\/java\/lib\/classes.zip/' mk/platforms/%{platform_gcc}.mk

# Removing rpath definition at link time
perl -p -i -e 's|-Wl\$\(comma\)-rpath\$\(comma\)%|-Wl%|'  mk/platforms/%{platform_gcc}.mk
perl -p -i -e 's|-Wl\$\(comma\)-rpath\$\(comma\)%|-Wl%|'  mk/platforms/%{platform}.mk

# Adding a hook for RPM_OPT_FLAGS
# ca ne passe pas a cause de gcc et d'une combinaison malheureuse d'option
perl -pi -e "s|CXXOPTIONS      = -Wall -Wno-unused|CXXOPTIONS      = \\\$\(RPM_OPT_FLAGS\)|" mk/platforms/%{platform}.mk

# expanding omniEvents tarball
tar xvjf %SOURCE1 

%build
%make -C src export RPM_OPT_FLAGS="$RPM_OPT_FLAGS"

pushd src/lib/omniORBpy
%make export

popd

%install
[ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT

###### directories #####

install -m 755 -d $RPM_BUILD_ROOT%{_bindir}

install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/omni/idl
install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/omni/idl/COS
install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/python%{py_ver}/site-packages/omniidl
install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/python%{py_ver}/site-packages/omniidl_be/cxx/{header,skel,dynskel,impl}

install -m 755 -d $RPM_BUILD_ROOT%{_mandir}/{man1,man5}

install -m 755 -d $RPM_BUILD_ROOT%{_includedir}/COS/BOA
install -m 755 -d $RPM_BUILD_ROOT%{_includedir}/omniORB3
install -m 755 -d $RPM_BUILD_ROOT%{_includedir}/omniParTcl
install -m 755 -d $RPM_BUILD_ROOT%{_includedir}/omniVms
install -m 755 -d $RPM_BUILD_ROOT%{_includedir}/omnithread

install -m 755 -d $RPM_BUILD_ROOT%_sysconfdir/init.d
install -m 755 -d $RPM_BUILD_ROOT/var/omninames/

##### copy files #####

install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%_sysconfdir
install -m 755 %{SOURCE3} $RPM_BUILD_ROOT%_sysconfdir/init.d/omninames

# binaries

cp -av bin/%{platform_gcc}/* $RPM_BUILD_ROOT%{_bindir}/
cp -av bin/scripts/* $RPM_BUILD_ROOT%{_bindir}

# python bits

install -m 755 lib/python/omniidl/* $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages/omniidl
install -m 755 lib/python/omniidl_be/*py lib/python/omniidl_be/*pyc $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages/omniidl_be
install -m 755 lib/python/omniidl_be/cxx/*.py* $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx
install -m 755 lib/python/omniidl_be/cxx/header/*.py* $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/header
install -m 755 lib/python/omniidl_be/cxx/skel/*.py* $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/skel
install -m 755 lib/python/omniidl_be/cxx/dynskel/*.py* $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/dynskel
install -m 755 lib/python/omniidl_be/cxx/impl/*.py* $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/impl
install -m 755 lib/%{platform_gcc}/_omniidlmodule.so $RPM_BUILD_ROOT/%_libdir/python%{py_ver}/site-packages

# python package directories

install -d $RPM_BUILD_ROOT%_libdir/python%{py_ver}/site-packages/CosNaming
install -d $RPM_BUILD_ROOT%_libdir/python%{py_ver}/site-packages/CosNaming__POA
install -d $RPM_BUILD_ROOT%_libdir//python%{py_ver}/site-packages/omniORB

# install python package

install -m 755 lib/%{platform_gcc}/_omnipymodule.so $RPM_BUILD_ROOT/usr/lib/python%{py_ver}/site-packages
install -m 644 lib/python/*.py* $RPM_BUILD_ROOT/usr/lib/python%{py_ver}/site-packages
install -m 644 lib/python/CosNaming/*.py* $RPM_BUILD_ROOT/usr/lib/python%{py_ver}/site-packages/CosNaming
install -m 644 lib/python/CosNaming__POA/*.py* $RPM_BUILD_ROOT/usr/lib/python%{py_ver}/site-packages/CosNaming__POA
install -m 644 lib/python/omniORB/*.py* $RPM_BUILD_ROOT/usr/lib/python%{py_ver}/site-packages/omniORB

# shared libs

cp -av lib/%{platform_gcc}/* $RPM_BUILD_ROOT%{_libdir}

# include files

cp -av include/*  $RPM_BUILD_ROOT%{_includedir}
chmod 755 $RPM_BUILD_ROOT%{_includedir}/COS/BOA
chmod 755 $RPM_BUILD_ROOT%{_includedir}/COS

# idl files

install -m 644 idl/*.idl $RPM_BUILD_ROOT/%_libdir/omni/idl
install -m 644 idl/COS/*.idl $RPM_BUILD_ROOT/%_libdir/omni/idl/COS

# it was lost among lib files

mv $RPM_BUILD_ROOT%{_libdir}/omnicpp $RPM_BUILD_ROOT%{_bindir}/
chmod +x $RPM_BUILD_ROOT%{_bindir}/omnicpp

# link against /usr/bin/omnicpp

ln -sf %_bindir/omnicpp $RPM_BUILD_ROOT%_libdir/omnicpp

# man pages

install -m 644 man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1/
install -m 644 man/man5/* $RPM_BUILD_ROOT%{_mandir}/man5/

mkdir -p  $RPM_BUILD_ROOT/var/log/omninames

%clean
[ -z $RPM_BUILD_ROOT ] || rm -rf $RPM_BUILD_ROOT

%post   -n %{lib_name} -p /sbin/ldconfig

%postun -n %{lib_name} -p /sbin/ldconfig

%files
%defattr (-,root,root)
%doc CREDITS bugfixes* ReleaseNote_omniORB_304
%_bindir/*
%config(noreplace) %_sysconfdir/*.cfg
%config(noreplace) %_sysconfdir/init.d/*
%attr(644,root,man)  %{_mandir}/man1/*
#%attr(644,root,man)  %{_mandir}/man5/*
%dir %attr(754,root,root) /var/log/omninames

%files -n %{lib_name}
%defattr (-,root,root)
%{_libdir}/*.so.*
%_libdir/omnicpp

%files -n %{lib_name}-devel
%defattr(-,root,root)
%doc README* CHANGES*
%{_libdir}/*.a
%{_libdir}/*.so
%{_includedir}/*
%_libdir/omni/idl/*.idl
%_libdir/omni/idl/COS/*.idl
#%_libdir/omni/scripts/*
%_libdir/python%{py_ver}/site-packages/omniidl/*
%_libdir/python%{py_ver}/site-packages/omniidl_be/*.py
%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/*.py
%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/*.pyc
%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/header/*
%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/skel/*
%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/dynskel/*
%_libdir/python%{py_ver}/site-packages/omniidl_be/cxx/impl/*
%_libdir/python%{py_ver}/site-packages/_omniidlmodule.so

%doc src/lib/omniORBpy/doc/omniORBpy.*
%docdir src/lib/omniORBpy/doc/omniORBpy
%doc src/lib/omniORBpy/doc/omniORBpy/*
%_libdir/python%{py_ver}/site-packages/*.py*
%_libdir/python%{py_ver}/site-packages/CosNaming/*.py*
%_libdir/python%{py_ver}/site-packages/CosNaming__POA/*.py*
%_libdir/python%{py_ver}/site-packages/omniORB/*.py*
%_libdir/python%{py_ver}/site-packages/_omnipymodule.so

%files -n %{lib_name}-doc
%defattr(-,root,root)
%doc doc/* 

%changelog
* Sat Jun 22 2002 Olivier Thauvin <thauvin@aerov.jussieu.fr> 3.05-2mdk
- add support multi-arches
	Only i586/ppc are set, works is prepare for other...

* Thu Jun 13 2002 Lenny Cartier <lenny@mandrakesoft.com> 3.05-1mdk
- 3.05

* Tue May 28 2002 Lenny Cartier <lenny@mandrakesoft.com> 3.04-6mdk
- rebuilt against new libstdc++

* Tue Mar 19 2002 Frederic Crozat <fcrozat@mandrakesoft.com> 3.04-5mdk
- Rebuild with python 2.2
- Fix default config filename in build
- Fix configuration file to use new config syntax
- Fix startup script to use /var/log/omninames for log files

* Sun Oct 28 2001 Lenny Cartier <lenny@mandrakesoft.com> 3.04-4mdk
- create a new initscript to make sure omniNames is launched 
- for now don't provide man5 page since it conflict with other rpm

* Sat Oct 27 2001 Lenny Cartier <lenny@mandrakesoft.com> 3.04-3mdk
- fix /etc/omniORB.cfg

* Fri Oct 26 2001 Lenny Cartier <lenny@mandrakesoft.com> 3.04-2mdk
- provides essential python files
- set up link against /usr/bin/omnicpp
- provides man5
- spec cleaning

* Mon Sep 03 2001 Lenny Cartier <lenny@mandrakesoft.com> 3.04-1mdk
- 3.04
- split

* Wed Jun 13 2001 HA Quôc-Viêt <viet@mandrakesoft.com> 3.03-1mdk
- Initial release
- TODO check that the event service is usable
- TODO add the update patch
- TODO add other contrib services
- TODO sort out which shared libraries and binaries are really needed
- TODO setup a working Naming Service
- TODO add a hook for RPM_OPT_FLAGS