blob: 2d46a3a7e43f039c09d302000049c012905144d4 [file] [log] [blame]
#
# spec file for package openwsman (Version @VERSION@)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: openwsman
BuildRequires: gcc-c++ swig >= 1.3.30
BuildRequires: libxml2-devel pam-devel sblim-sfcc-devel
BuildRequires: cmake
BuildRequires: perl python-devel java-devel
%if 0%{?rhel_version} > 0
BuildRequires: -vim
%endif
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
BuildRequires: curl-devel openssl-devel pkgconfig ruby ruby-devel ruby-rdoc
%if 0%{?fedora} > 0
BuildRequires: perl-devel
%endif
%endif
%if 0%{?suse_version} > 0
# No jni_md.h on SLE10 :-/
#%if 0%{?suse_version} < 1100
#BuildRequires: java-1_5_0-ibm-devel
#BuildRequires: libgcj-devel
#BuildRequires: update-alternatives
#%endif
%if 0%{?suse_version} > 1010
BuildRequires: fdupes libopenssl-devel
BuildRequires: libcurl-devel
%else
# SLE10
BuildRequires: libidn-devel openssl-devel
BuildRequires: curl-devel
%endif
%if 0%{?suse_version} > 910
BuildRequires: ruby-devel
BuildRequires: pkg-config
%else
# SLE9
BuildRequires: pkgconfig ruby
%endif
%endif
Requires(Pre): sed coreutils grep /bin/hostname
Version: @VERSION@
Release: 1
# Mandriva:
# Release %mkrel 1
Url: http://www.openwsman.org/
License: BSD3c(or similar)
Group: System/Management
Summary: Opensource Implementation of WS-Management
Source: %{name}-%{version}.tar.bz2
Source1: %{name}.rpmlintrc
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
Source2: %{name}.pam.rh
Patch1: openwsman-initscript.patch
%else
Source2: %{name}.pam
%endif
Source3: %{name}.SuSEfirewall2
Patch0: %{name}-pam-auth.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Opensource Implementation of WS-Management
Authors:
--------
Anas Nashif <anas.nashif@intel.com>
Vadim Revyakin <vadim.revyakin@intel.com>
Denis Sadykov <denis.sadykov@intel.com>
%package -n libwsman1
License: BSD3c(or similar)
Group: System/Management
Summary: Opensource Implementation of WS-Management
Provides: openwsman = %{version}
Obsoletes: openwsman < %{version}
%description -n libwsman1
Opensource Implementation of WS-Management
Authors:
--------
Anas Nashif <anas.nashif@intel.com>
Vadim Revyakin <vadim.revyakin@intel.com>
Denis Sadykov <denis.sadykov@intel.com>
%package -n libwsman-devel
License: BSD3c(or similar)
Group: Development/Libraries/C and C++
Summary: Opensource Implementation of WS-Management
Provides: openwsman-devel = %{version}
Obsoletes: openwsman-devel < %{version}
Requires: libwsman1 = %{version}
Requires: %{name}-server = %{version}
Requires: %{name}-client = %{version}
Requires: sblim-sfcc-devel libxml2-devel pam-devel
%description -n libwsman-devel
Opensource Implementation of WS-Management
Authors:
--------
Anas Nashif <anas.nashif@intel.com>
Vadim Revyakin <vadim.revyakin@intel.com>
Denis Sadykov <denis.sadykov@intel.com>
%package client
License: BSD3c(or similar)
Group: System/Management
Summary: Openwsman Client libraries
%description client
Openwsman Client libraries
Authors:
--------
Anas Nashif <anas.nashif@intel.com>
Vadim Revyakin <vadim.revyakin@intel.com>
Denis Sadykov <denis.sadykov@intel.com>
%package server
License: BSD3c(or similar)
Group: System/Management
Requires(Pre): sed coreutils grep diffutils /bin/hostname
%if 0%{?suse_version}
Requires(Pre): fillup
%endif
Summary: Openwsman Server and service libraries
%description server
Openwsman Server and service libraries
Authors:
--------
Anas Nashif <anas.nashif@intel.com>
Vadim Revyakin <vadim.revyakin@intel.com>
Denis Sadykov <denis.sadykov@intel.com>
%package python
License: BSD3c(or similar)
Group: Development/Libraries/Python
Summary: Python bindings for openwsman client API
%{!?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)")}
%{!?py_requires: %define py_requires Requires: python}
%{py_requires}
%description python
This package provides Python bindings to access the openwsman client
API.
Authors:
--------
Klaus Kaempf <kkaempf@suse.de>
%package ruby
License: BSD3c(or similar)
Group: System/Management
Requires: ruby
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
Requires: ruby(abi) = 1.8
%endif
%if 0%{?suse_version} > 1120
Requires: ruby(abi) = 1.8
%endif
%if 0%{?ruby_sitelib} == 0
%{!?ruby_sitelib: %global ruby_sitelib %(ruby -r rbconfig -e 'vd = Config::CONFIG["vendorlibdir"]; print(vd ? vd : Config::CONFIG["sitelibdir"])')}
%{!?ruby_sitearch: %global ruby_sitearch %(ruby -r rbconfig -e 'vad = Config::CONFIG["vendorarchdir"]; print(vad ? vad : Config::CONFIG["sitearchdir"])')}
%endif
Summary: Ruby bindings for openwsman client API
%description ruby
This package provides Ruby bindings to access the openwsman client API.
Authors:
--------
Klaus Kaempf <kkaempf@suse.de>
%package perl
License: BSD3c(or similar)
Group: System/Management
%if 0%{?fedora}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%else
Requires: perl = %{perl_version}
%endif
Summary: Perl bindings for openwsman client API
%description perl
This package provides Perl bindings to access the openwsman client API.
Authors:
--------
Klaus Kaempf <kkaempf@suse.de>
%if 0%{?suse_version} == 0 || 0%{?suse_version} >= 1100
%package java
License: BSD3c(or similar)
Group: System/Management
Requires: java
Requires: libwsman1
Summary: Java bindings for openwsman client API
%description java
This package provides Java bindings to access the openwsman client API.
Authors:
--------
Klaus Kaempf <kkaempf@suse.de>
%endif
%prep
%setup -q
%patch0
%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel}
%patch1 -p1
%endif
%build
rm -rf build
mkdir build
%if 0%{?fedora}
# [ curl-Bugs-1924441 ] SSL callback option with NSS-linked libcurl
# CURLOPT_SSL_CTX_FUNCTION is defined, but does not work on e.g. Fedora
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -DNO_SSL_CALLBACK"
%endif
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
cd build
make DESTDIR=$RPM_BUILD_ROOT install
cd ..
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/openwsman/plugins/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/openwsman/authenticators/*.la
[ -d $RPM_BUILD_ROOT%{ruby_sitelib} ] && rm -f $RPM_BUILD_ROOT%{ruby_sitelib}/openwsmanplugin.rb
[ -d $RPM_BUILD_ROOT%{ruby_vendorlib} ] && rm -f $RPM_BUILD_ROOT%{ruby_vendorlib}/openwsmanplugin.rb
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d
install -m 644 etc/openwsman.conf $RPM_BUILD_ROOT%{_sysconfdir}/openwsman
install -m 644 etc/openwsman_client.conf $RPM_BUILD_ROOT%{_sysconfdir}/openwsman
install -m 755 build/etc/init/openwsmand.sh $RPM_BUILD_ROOT%{_sysconfdir}/init.d/openwsmand
install -m 644 etc/ssleay.cnf $RPM_BUILD_ROOT%{_sysconfdir}/openwsman
install -m 644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/openwsman
ln -sf %{_sysconfdir}/init.d/openwsmand $RPM_BUILD_ROOT%{_sbindir}/rcopenwsmand
%if 0%{?suse_version} > 1010
install -D -m 644 %{S:3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/openwsman
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post -n libwsman1 -p /sbin/ldconfig
%postun -n libwsman1 -p /sbin/ldconfig
%post server
/sbin/ldconfig
%if 0%{?suse_version}
%{fillup_and_insserv openwsmand}
%else
# FIXME: chkconfig?!
%endif
%preun server
%if 0%{?suse_version}
%{stop_on_removal openwsmand}
%else
# FIXME: chkconfig?!
%endif
%postun server
%if 0%{?suse_version}
%{insserv_cleanup openwsmand}
%else
# FIXME: chkconfig?!
%endif
rm -f /var/log/wsmand.log
/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
%files python
%defattr(-,root,root)
%{python_sitearch}/*.so
%{python_sitearch}/*.py
%files ruby
%defattr(-,root,root)
%if 0%{?suse_version}
%{ruby_sitearch}/openwsman.so
%dir %{ruby_sitelib}/openwsman
%{ruby_sitelib}/openwsman/*.rb
%endif
%if 0%{?mandriva_version}
%{ruby_sitearchdir}/openwsman.so
%dir %{ruby_sitelibdir}/openwsman
%{ruby_sitelibdir}/openwsman/*.rb
%endif
%if 0%{?fedora} > 0 || 0%{?rhel_version} > 0
%{ruby_sitearch}/openwsman.so
%dir %{ruby_sitelib}/openwsman
%{ruby_sitelib}/openwsman/*.rb
%endif
%files perl
%defattr(-,root,root)
%{perl_vendorarch}/openwsman.so
%{perl_vendorlib}/openwsman.pm
%if 0%{?suse_version} == 0 || 0%{?suse_version} >= 1100
%files java
%defattr(-,root,root)
%{_javadir}/*jar
%endif
%files server
%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 %{_sysconfdir}/pam.d/openwsman
%if 0%{?suse_version} > 1010
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/openwsman
%endif
%attr(0755,root,root) %{_sysconfdir}/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.*
%files client
%defattr(-,root,root)
%{_libdir}/libwsman_clientpp.so.*
%config(noreplace) %{_sysconfdir}/openwsman/openwsman_client.conf
%changelog