Blob Blame Raw
%{!?python_sitelib: %define 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)")}
%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')}
%define ruby_libdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')

Name:          openwsman
Version:       2.2.0
Release:        1%{?dist}
License:        BSD
Url:            http://www.openwsman.org/
Source:         http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
Source2:        python-config
Patch0:         %{name}-initscript.patch
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXXX)
Group:          System Environment/Daemons
Summary:        Web Services Management libraries
BuildRequires:  sblim-sfcc-devel curl-devel libxml2-devel pkgconfig pam-devel openssl-devel swig python python-devel ruby ruby-devel
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(postun): initscripts

%description
Openwsman is a project intended to provide an open-source
implementation of the Web Services Management specification
(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 devel
Summary:        Openwsman Development files
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:       pkgconfig
%description devel
Openwsman Development files

%package python
Summary:        Openwsman Python bindings
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
%description python
Openwsman python bindings

%package -n ruby-%{name}
Summary:        Openwsman Ruby bindings
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:       ruby(abi) = 1.8
Provides:       ruby(%{name}) = %{version}
%description -n ruby-%{name}
Openwsman ruby bindings


%prep
%setup -q 
%patch0 -p1
cp -p %{SOURCE2} %{_builddir}/%{name}-%{version}
sed -i -e 's|#!/usr/bin/python2.5|#!%{__python}|' %{_builddir}/%{name}-%{version}/python-config

%build
chmod a-x src/lib/*.[ch]
chmod a-x src/cpp/*.[ch]
chmod a-x include/*.[ch]

# disable eventing, as Fedora libcurl isn't linked against openssl
# disable tests in 2.1.0, http://www.openwsman.org/bug/263
%configure --with-examples=yes --with-tests=no --enable-python=yes --enable-ruby=yes --enable-eventing=no --disable-more-warnings PATH=$PATH:.
make %{?_smp_flags}

%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
install -m 0644 etc/openwsman.conf %{buildroot}/etc/openwsman
install -m 0644 etc/ssleay.cnf %{buildroot}/etc/openwsman
install -D -m 0755 etc/init/%{name}d.sh %{buildroot}/%{_initrddir}/%{name}d
# move this helper script out of /etc
mkdir -p %{buildroot}/%{_libexecdir}/%{name}/
chmod 0755 %{buildroot}/etc/%{name}/owsmangencert.sh
mv %{buildroot}/etc/%{name}/owsmangencert.sh %{buildroot}/%{_libexecdir}/%{name}/
find %{buildroot} -type f -name \*.la -exec rm \{\} \;
find %{buildroot} -type f -name \*.a -exec rm \{\} \;

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%{_sbindir}/%{name}d
%{_initrddir}/%{name}d
%{_libexecdir}/%{name}
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/plugins
%dir %{_libdir}/%{name}/authenticators
%{_libdir}/libwsman*.so.*
%{_libdir}/%{name}/plugins/*so.*
%{_libdir}/%{name}/authenticators/*so.*
%dir /etc/openwsman
%config(noreplace) /etc/openwsman/openwsman.conf
%config(noreplace) /etc/openwsman/ssleay.cnf
%{ruby_libdir}/openwsman
%config(noreplace) %{_sysconfdir}/pam.d/openwsman
%doc COPYING README

%files devel
%defattr(-,root,root)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/%{name}/plugins/*so
%{_libdir}/%{name}/authenticators/*so
%{_libdir}/pkgconfig/%{name}*.pc
%doc COPYING examples/serialize.c doc/plugin* 

%files python
%defattr(-,root,root)
%{python_sitelib}/pywsman.py
%{python_sitearch}/*.so
%doc COPYING

%files -n ruby-%{name}
%defattr(-,root,root)
%{ruby_sitearch}/*.so
%doc COPYING

%post
/sbin/ldconfig
/sbin/chkconfig --add %{name}d

%preun
if [ $1 = 0 ] ; then
    /sbin/service %{name}d stop >/dev/null 2>&1
    /sbin/chkconfig --del %{name}d
fi

%postun
/sbin/ldconfig
if [ "$1" -ge "1" ] ; then
    /sbin/service %{name}d condrestart >/dev/null 2>&1 || :
fi


%changelog
* Thu Oct  1 2009 Praveen K Paladugu <praveen_paladugu@dell.com> - 2.2.0-1
- Updated the sources to 2.2.0. Couple of major changes are as follows:
- Major changes:
- 	Adapt IANA ports of 5985 (http) and 5986 (https)
- 	Change the Ruby bindings module name to 'Openwsman'
- 	Change the Ruby plugin module name to 'Openwsman'
- 	IPv6 support (A_Venkatachalam@Dell.com)
- 	preliminary support for wbem intrinsic operations
-           'EnumerateClassNames' and 'GetClass' (kkaempf@suse.de)
-            (needs fixed sblim-sfcc, see www.openwsman.org for details)
- Added a few more files in %files 

* Mon Sep 22 2008 Matt Domsch <Matt_Domsch@dell.com> - 2.1.0-1
- update to 2.1.0, resolves security issues

* Tue Aug 19 2008  <srinivas_ramanatha@dell.com> - 2.0.0-1%{?dist}
- Modified the spec file to adhere to fedora packaging guidelines.