%global nameserver omniNames %if 0%{?fedora} || 0%{?rhel} > 6 %global with_systemd 1 %endif # openssl enabled by default, add conditional --without openssl %bcond_without openssl Name: omniORB Version: 4.2.3 Release: 7%{?dist} Summary: A robust high performance CORBA ORB for C++ and Python License: LGPLv2+ URL: http://omniorb.sourceforge.net Source0: http://downloads.sourceforge.net/project/omniorb/%{name}/%{name}-%{version}/%{name}-%{version}.tar.bz2 Source1: omniORB-nameserver.init Source2: omniORB-nameserver.logrotate Source3: omniORB.cfg Source4: omniNames.service BuildRequires: gcc-c++ BuildRequires: make BuildRequires: python3-devel BuildRequires: byacc BuildRequires: zlib-devel %{!?_without_openssl:BuildRequires: openssl-devel} %if 0%{?with_systemd} BuildRequires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %else Requires(post): chkconfig Requires(preun): chkconfig Requires(pre): shadow-utils # This is for /sbin/service Requires(postun): initscripts %endif # we don't want to provide private python extension libs %{?filter_setup: %filter_provides_in %{python3_sitearch}/.*\.so$ %filter_setup } %description omniORB is a robust high performance CORBA ORB for C++ and Python. omniORB is a certified CORBA 2.1 implementation and largely CORBA 2.6 compliant. %package devel Summary: Development files for %{name} License: LGPLv2+ Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package doc Summary: Documentation files for %{name} BuildArch: noarch Requires: %{name} = %{version}-%{release} %description doc The %{name}-doc package contains documentation files for developing and administrating applications that use %{name}. %package servers Summary: OmniORB naming service License: GPLv2+ Requires: %{name}%{?_isa} = %{version}-%{release} %description servers The %{name}-servers package contains omniNames naming server. %package utils Summary: Development files for %{name} License: GPLv2+ Requires: %{name}%{?_isa} = %{version}-%{release} %description utils The %{name}-utils package contains supplementary command line tools for developing applications that use %{name}. %prep %setup -q # Fix shebangs sed -i '1s=^#!/usr/bin/\(python\|env python\)[0-9.]*=#!%{__python3}=' \ ./src/tool/omniidl/python3/scripts/omniidlrun.py \ ./src/tool/omniidl/python3/omniidl/main.py %build # Per guidelines: if the same functionality is provided regardless of the interpreter version, only the python 3 version should be packaged export PYTHON=%{__python3} %configure --disable-static %{?with_openssl:--with-openssl=%{_prefix}} %make_build %install %make_install find %{buildroot} -name '*.la' -delete # fix rpmlint warnings: unstripped-binary-or-object chmod 0755 %{buildroot}%{_libdir}/*.so.* chmod 0755 %{buildroot}%{python3_sitearch}/*.so.* # fix rpmlint errors: non-standard-dir-perm chmod 0755 %{buildroot}%{_includedir}/{omnithread,COS} chmod 0755 %{buildroot}%{_includedir}/omniORB4/{,internal} chmod 0755 %{buildroot}%{_datadir}/idl/%{name}/COS chmod 0755 %{buildroot}%{python3_sitelib}/omniidl chmod 0755 %{buildroot}%{python3_sitelib}/omniidl_be chmod 0755 %{buildroot}%{python3_sitelib}/omniidl_be/cxx/{,skel,impl,dynskel,header} # fix rpmlint error: non-executable-script chmod +x %{buildroot}%{python3_sitelib}/omniidl/main.py %if 0%{?with_systemd} # install systemd unit mkdir -p %{buildroot}%{_unitdir} install -m 0644 %{SOURCE4} %{buildroot}%{_unitdir} %else # install service init script mkdir -p %{buildroot}%{_initddir} install -m 0755 %{SOURCE1} %{buildroot}%{_initddir}/%{nameserver} mkdir -p %{buildroot}%{_sharedstatedir}/%{name} mkdir -p %{buildroot}%{_localstatedir}/run/%{name} %endif # install server configuration stuff mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d/ install -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{nameserver} mkdir -p %{buildroot}%{_sysconfdir}/ install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/%{name}.cfg mkdir -p %{buildroot}%{_localstatedir}/log/%{name} # install man pages pushd man mkdir -p %{buildroot}%{_mandir}/man1 install -m 0644 man1/* %{buildroot}%{_mandir}/man1/ mkdir -p %{buildroot}%{_mandir}/man8 install -m 0644 man8/* %{buildroot}%{_mandir}/man8/ popd %ldconfig_scriptlets %pre servers getent group %{name} >/dev/null || groupadd -r %{name} getent passwd %{name} >/dev/null || \ useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \ -c "OmniNames Naming Service" %{name} exit 0 %if 0%{?with_systemd} %post servers %systemd_post omniNames.service %preun servers %systemd_preun omniNames.service %postun servers %systemd_postun omniNames.service %else %post servers /sbin/chkconfig --add %{nameserver} %preun servers if [ $1 = 0 ] ; then /sbin/service stop >/dev/null 2>&1 /sbin/chkconfig --del %{nameserver} fi %postun servers if [ $1 -ge 1 ] ; then /sbin/service %{nameserver} condrestart >/dev/null 2>&1 || : fi %endif %files %license COPYING.LIB %doc README.FIRST.txt README.unix.txt %{_libdir}/libCOS4.so.2* %{_libdir}/libCOSDynamic4.so.2* %{_libdir}/libomniCodeSets4.so.2* %{_libdir}/libomniConnectionMgmt4.so.2* %{_libdir}/libomniDynamic4.so.2* %{_libdir}/libomniORB4.so.2* %{_libdir}/libomniZIOP4.so.2* %{_libdir}/libomniZIOPDynamic4.so.2* %{_libdir}/libomnisslTP4.so.2* %{_libdir}/libomnithread.so.4* %files servers %if 0%{?with_systemd} %{_unitdir}/omniNames.service %else %{_initddir}/%{nameserver} %dir %attr(0755, %{name}, root) %{_sharedstatedir}/%{name} %dir %attr(0755, %{name}, root) %{_localstatedir}/run/%{name} %endif %config(noreplace) %{_sysconfdir}/%{name}.cfg %config(noreplace) %{_sysconfdir}/logrotate.d/%{nameserver} %dir %attr(0755, %{name}, root) %{_localstatedir}/log/%{name} %{_bindir}/omniMapper %{_bindir}/%{nameserver} %{_mandir}/man8/* %files devel %doc doc/ %{_bindir}/omniidl %{_bindir}/omniidlrun.py %{_bindir}/omnicpp %{_bindir}/omkdepend %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %{_datadir}/idl/%{name}/* %{python3_sitelib}/* %{python3_sitearch}/* %{_mandir}/man1/omniidl.1.gz %{_mandir}/man1/omnicpp.1.gz %files doc %doc doc/ %files utils %license COPYING %{_bindir}/catior %{_bindir}/convertior %{_bindir}/genior %{_bindir}/nameclt %{_mandir}/man1/catior.1.gz %{_mandir}/man1/convertior.1.gz %{_mandir}/man1/genior.1.gz %{_mandir}/man1/nameclt.1.gz %changelog * Wed Jan 29 2020 Fedora Release Engineering - 4.2.3-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Oct 03 2019 Miro Hrončok - 4.2.3-6 - Rebuilt for Python 3.8.0rc1 (#1748018) * Mon Aug 19 2019 Miro Hrončok - 4.2.3-5 - Rebuilt for Python 3.8 * Thu Jul 25 2019 Fedora Release Engineering - 4.2.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu May 02 2019 Sandro Mani - 4.2.3-3 - Add missing BR: zlib-devel (#1705703) * Fri Feb 01 2019 Fedora Release Engineering - 4.2.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Mon Dec 17 2018 Sandro Mani - 4.2.3-1 - Update to 4.2.3 * Mon Oct 15 2018 Peter Robinson 4.2.2-10 - Fix systemd conditional for Fedora * Fri Jul 13 2018 Fedora Release Engineering - 4.2.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Jun 19 2018 Miro Hrončok - 4.2.2-8 - Rebuilt for Python 3.7 * Wed Feb 21 2018 Iryna Shcherbina - 4.2.2-7 - Fix shebangs for Python 3 * Mon Feb 19 2018 Sandro Mani - 4.2.2-6 - Add missing BR: gcc-c++, make * Thu Feb 08 2018 Fedora Release Engineering - 4.2.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Aug 04 2017 Sandro Mani - 4.2.2-4 - Build against python3 * Thu Aug 03 2017 Fedora Release Engineering - 4.2.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 4.2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Jul 11 2017 Sandro Mani - 4.2.2-1 - Update to 4.2.2 * Fri Jul 07 2017 Igor Gnatenko - 4.2.1-6 - Rebuild due to bug in RPM (RHBZ #1468476) * Sun Feb 19 2017 Sandro Mani - 4.2.1-5 - Add patch to fix build against OpenSSL-1.1 * Sat Feb 11 2017 Fedora Release Engineering - 4.2.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Tue Jul 19 2016 Fedora Release Engineering - 4.2.1-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Thu Feb 04 2016 Fedora Release Engineering - 4.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Oct 05 2015 Sandro Mani - 4.2.1-1 - Update to 4.2.1 - Modernize spec * Wed Jun 17 2015 Fedora Release Engineering - 4.2.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat Apr 11 2015 Sandro Mani - 4.2.0-4 - Add patch for bug #1210340 (omniORB loses SSL peer information), thanks Alexey Kosilin * Sun Aug 17 2014 Fedora Release Engineering - 4.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 4.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Thu May 08 2014 Sandro Mani - 4.2.0-1 - upstream 4.2.0 * Tue Sep 10 2013 Haïkel Guémar - 4.1.7-1 - upstream 4.1.7 (RHBZ #1005607) - macroized systemd scriptlets (RHBZ #850239) * Sat Aug 03 2013 Fedora Release Engineering - 4.1.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Feb 14 2013 Fedora Release Engineering - 4.1.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jul 20 2012 Fedora Release Engineering - 4.1.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Feb 20 2012 Haïkel Guémar - 4.1.6-2 - enable openssl support - fix typo in omniNames.service * Wed Jul 13 2011 Haïkel Guémar - 4.1.6-1 - upstream 4.1.6 - use systemd for fedora >= 15 * Sun May 08 2011 Haïkel Guémar - 4.1.5-2 - spec cleanup * Sun Jan 09 2011 Haïkel Guémar - 4.1.5-1 - upstream 4.1.5 * Wed Nov 24 2010 Haïkel Guémar - 4.1.4-1 - initial packaging