%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %endif %{!?ruby_sitelib: %global ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"] ')} %{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')} Name: openwsman BuildRequires: swig BuildRequires: libcurl-devel libxml2-devel pam-devel sblim-sfcc-devel BuildRequires: python python-devel ruby ruby-devel ruby-rdoc perl BuildRequires: perl-devel pkgconfig openssl-devel BuildRequires: cmake Requires: net-tools Version: 2.2.4 Release: 3%{?dist} Url: http://www.openwsman.org/ License: BSD Group: Applications/System Summary: Open source Implementation of WS-Management Source: http://downloads.sourceforge.net/project/openwsman/%{name}/%{version}/%{name}-%{version}.tar.bz2 # help2man generated manpage for openwsmand binary Source1: openwsmand.8.gz Patch0: %{name}-sitelibdir.patch Patch1: openwsman-2.2.3-initscript.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXXX) %description Openwsman is a project intended to provide an open-source implementation of the Web Services Management specipication (WS-Management) and to expose system management information on the Linux operating system using the WS-Management protocol. WS-Management is based on a suite of web services specifications and usage requirements that exposes a set of operations focused on and covers all system management aspects. %package -n libwsman1 License: BSD Group: System Environment/Libraries Summary: Open source Implementation of WS-Management Provides: %{name} = %{version} Obsoletes: %{name} < %{version} %description -n libwsman1 Openwsman library for packages dependent on openwsman %package -n libwsman-devel License: BSD Group: Development/Libraries Summary: Open source Implementation of WS-Management Provides: %{name}-devel = %{version} Obsoletes: %{name}-devel < %{version} Requires: libwsman1 = %{version} Requires: %{name}-server = %{version} Requires: %{name}-client = %{version} Requires: sblim-sfcc-devel libxml2-devel pam-devel Requires: libcurl-devel %description -n libwsman-devel Development files for openwsman %package client License: BSD Group: System Environment/Libraries Summary: Openwsman Client libraries %description client Openwsman Client libraries %package server License: BSD Group: System Environment/Daemons Requires: net-tools Requires(post): chkconfig Requires(preun): chkconfig Requires(postun): initscripts Summary: Openwsman Server and service libraries %description server Openwsman Server and service libraries %package python License: BSD Group: Development/Libraries Summary: Python bindings for openwsman client API Requires: python %description python This package provides Python bindings to access the openwsman client API. %package ruby License: BSD Group: Development/Libraries Requires: ruby Requires: ruby(abi) = 1.8 Summary: Ruby bindings for openwsman client API %description ruby This package provides Ruby bindings to access the openwsman client API. %package perl License: BSD Group: Development/Libraries Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Summary: Perl bindings for openwsman client API %description perl This package provides Perl bindings to access the openwsman client API. %prep %setup -q # don't make backup of file patched by patch0, it'll be installed... %patch0 -p1 %patch1 -p1 -b .initscript %build # Removing executable permissions on .c and .h files to fix rpmlint warnings. chmod -x src/cpp/WsmanClient.h rm -rf build mkdir build export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DFEDORA -DNO_SSL_CALLBACK" export SSL_LIB=`readlink %{_libdir}/libssl.so` cd build cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_VERBOSE_MAKEFILE=TRUE \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS_RELEASE:STRING="$RPM_OPT_FLAGS -fno-strict-aliasing" \ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$RPM_OPT_FLAGS" \ -DCMAKE_SKIP_RPATH=1 \ -DPACKAGE_ARCHITECTURE=`uname -m` \ -DLIB=%{_lib} \ .. make CFLAGS="-DSSL_LIB='\"$SSL_LIB\"'" %install rm -rf %{buildroot} cd build make DESTDIR=%{buildroot} install cd .. rm -f %{buildroot}/%{_libdir}/*.la rm -f %{buildroot}/%{_libdir}/openwsman/plugins/*.la rm -f %{buildroot}/%{_libdir}/openwsman/authenticators/*.la [ -d %{buildroot}/%{ruby_sitelib} ] && rm -f %{buildroot}/%{ruby_sitelib}/openwsmanplugin.rb [ -d %{buildroot/}%{ruby_vendorlib} ] && rm -f %{buildroot}/%{ruby_vendorlib}/openwsmanplugin.rb mkdir -p %{buildroot}%{_sysconfdir}/init.d install -m 644 etc/openwsman.conf %{buildroot}/%{_sysconfdir}/openwsman install -m 644 etc/openwsman_client.conf %{buildroot}/%{_sysconfdir}/openwsman mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/init.d install -m 755 build/etc/init/openwsmand.sh %{buildroot}/%{_sysconfdir}/rc.d/init.d/openwsmand install -m 644 etc/ssleay.cnf %{buildroot}/%{_sysconfdir}/openwsman ln -sf %{_sysconfdir}/rc.d/init.d/openwsmand %{buildroot}/%{_sbindir}/rcopenwsmand # install manpage mkdir -p %{buildroot}/%{_mandir}/man8/ cp %SOURCE1 %{buildroot}/%{_mandir}/man8/ # install missing headers install -m 644 include/wsman-xml.h %{buildroot}/%{_includedir}/openwsman install -m 644 include/wsman-xml-binding.h %{buildroot}/%{_includedir}/openwsman install -m 644 include/wsman-dispatcher.h %{buildroot}/%{_includedir}/openwsman %clean rm -rf %{buildroot} %post -n libwsman1 -p /sbin/ldconfig %postun -n libwsman1 -p /sbin/ldconfig %post server /sbin/ldconfig /sbin/chkconfig --add openwsmand %preun server if [ $1 = 0 ] ; then /sbin/service %{name}d stop >/dev/null 2>&1 /sbin/chkconfig --del openwsmand fi %postun server rm -f /var/log/wsmand.log if [ "$1" -ge "1" ] ; then /sbin/service %{name}d condrestart >/dev/null 2>&1 || : fi /sbin/ldconfig %post client -p /sbin/ldconfig %postun client -p /sbin/ldconfig %files -n libwsman1 %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog README TODO %{_libdir}/libwsman.so.* %{_libdir}/libwsman_client.so.* %{_libdir}/libwsman_curl_client_transport.so.* %files -n libwsman-devel %defattr(-,root,root,-) %{_includedir}/* %{_libdir}/pkgconfig/* %{_libdir}/*.so %doc AUTHORS COPYING ChangeLog README %files python %defattr(-,root,root,-) %{python_sitearch}/*.so %{python_sitearch}/*.py %{python_sitearch}/*.pyc %{python_sitearch}/*.pyo %doc AUTHORS COPYING ChangeLog README %files ruby %defattr(-,root,root,-) %{ruby_sitearch}/openwsman.so %dir %{ruby_sitelib}/openwsman %{ruby_sitelib}/openwsman/*.rb %doc AUTHORS COPYING ChangeLog README %files perl %defattr(-,root,root,-) %{perl_vendorarch}/openwsman.so %{perl_vendorlib}/openwsman.pm %doc AUTHORS COPYING ChangeLog README %files server # Don't remove *.so files from the server package. # the server fails to start without these files. %defattr(-,root,root,-) %dir %{_sysconfdir}/openwsman %config(noreplace) %{_sysconfdir}/openwsman/openwsman.conf %config(noreplace) %{_sysconfdir}/openwsman/ssleay.cnf %attr(0755,root,root) %{_sysconfdir}/openwsman/owsmangencert.sh %config(noreplace) %{_sysconfdir}/pam.d/openwsman %attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/openwsmand %dir %{_libdir}/openwsman %dir %{_libdir}/openwsman/authenticators %{_libdir}/openwsman/authenticators/*.so %{_libdir}/openwsman/authenticators/*.so.* %dir %{_libdir}/openwsman/plugins %{_libdir}/openwsman/plugins/*.so %{_libdir}/openwsman/plugins/*.so.* %{_sbindir}/openwsmand %{_sbindir}/rcopenwsmand %{_libdir}/libwsman_server.so.* %{_mandir}/man8/* %doc AUTHORS COPYING ChangeLog README %files client %defattr(-,root,root,-) %{_libdir}/libwsman_clientpp.so.* %config(noreplace) %{_sysconfdir}/openwsman/openwsman_client.conf %doc AUTHORS COPYING ChangeLog README %changelog * Tue Feb 08 2011 Fedora Release Engineering - 2.2.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Dec 9 2010 Vitezslav Crhonek - 2.2.4-2 - Recompile with -DNO_SSL_CALLBACK * Tue Nov 16 2010 Vitezslav Crhonek - 2.2.4-1 - Update to openwsman-2.2.4 - Add help2man generated manpage for openwsmand binary - Add missing openwsman headers to libwsman-devel - Add configuration file to openwsman-client * Wed Sep 29 2010 jkeating - 2.2.3-9 - Rebuilt for gcc bug 634757 * Mon Sep 13 2010 Vitezslav Crhonek - 2.2.3-8 - Move initscript to the right place - Fix return values from initscript according to guidelines * Tue Aug 10 2010 Praveen K Paladugu - 2.2.3-7 - Moved the certificate generation from init script. The user will have to - generate the certificate manually. * Mon Aug 2 2010 Praveen K Paladugu - 2.2.3-6 - Fixed the version checking of swig and forced all the ruby files to be - installed into site{lib,arch} dirs * Wed Jul 21 2010 David Malcolm - 2.2.3-5 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild * Tue Jun 01 2010 Marcela Maslanova - 2.2.3-4 - Mass rebuild with perl-5.12.0 * Tue Apr 22 2010 Praveen K Paladugu - 2.2.3-3 - authors.patch: Moved all the AUTHORS info to AUTHORS file. - Corrected the Source tag. - Corrected the package dependencies to break cyclic dependencies. - Fixed the default attributes. - Fixed the preun & postun scripts, to make sure the openwsmand service - is stopped before the package is removed. - Added 'condrestart' function to the init script. - Had to let the *.so files be part of the openwsman-server becuase - some of the source files explicitly call out for *.so files. * Thu Apr 15 2010 Praveen K Paladugu - 2.2.3-2 - Updated the spec file to adhere to the upstream standard of breaking - the package in server, client, lib modules - randfile.patch: when openwsmand daemon creates a certificate the - first time it needs a file which have random content it. This - is pointed to $HOME/.rnd in /etc/openwsman/ssleay.cnf. Changed this - random file to /dev/urandom. - initscript.patch: patch to edit the init script so that the services - are not started by default. * Wed Mar 3 2010 Vitezslav Crhonek - 2.2.3-1 - Update to openwsman-2.2.3 * Wed Sep 23 2009 Praveen K Paladugu - 2.2.0-1 - Added the new 2.2.0 sources. - Changed the release and version numbers. * Fri Aug 21 2009 Tomas Mraz - 2.1.0-4 - rebuilt with new openssl * Sat Jul 25 2009 Fedora Release Engineering - 2.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Feb 26 2009 Fedora Release Engineering - 2.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Mon Sep 22 2008 Matt Domsch - 2.1.0-1 - update to 2.1.0, resolves security issues * Tue Aug 19 2008 - 2.0.0-1%{?dist} - Modified the spec file to adhere to fedora packaging guidelines.