%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