File sblim-sfcb.spec of Package sblim-sfcb
#
# spec file for package sblim-sfcb (Version 1.3.2)
#
# Copyright (c) 2009 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/
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: Small Footprint CIM Broker
Name: sblim-sfcb
Version: 1.3.2
Release: 20
Group: System/Management
License: CPL 1.0
Url: http://sblim.sf.net/
Source0: %{name}-%{version}.tar.bz2
Source1: autoconfiscate.sh
%if 0%{?suse_version}
Source2: sblim-sfcb.init
%endif
Source3: autoconfiscate.sh-mofc
Source4: sfcb-pam.conf
Patch1: 0001-uds_auth.patch
Patch3: 0003-align.patch
Patch6: 0006-Werror.patch
Patch7: 0007-automake.patch
Patch8: 0008-enable-hex-trace-mask.patch
Patch9: 0009-clean-up-semaphore-array-index-calculation.patch
Patch11: 0011-check-prevent-various-buffer-overflows.patch
Patch15: 0015-fix-potential-memory-leak.patch
Patch16: 0016-check-result-from-_methProvider.patch
Patch17: 0017-abort-on-socket-error-with-better-error-msg.patch
Patch18: 0018-buffer-size-check-in-localConnectServer.patch
Patch19: 0019-internal_provider.patch
Patch100: 0100-check_length_sanity.patch
Patch110: 0110-2164750-sfcb_handle_malformed_requests.patch
Patch120: 0120-max_content_length.patch
Patch130: 0130-2169514-check_malloc.patch
Patch140: 0140-2169527-attrsOk_alloca_fix.patch
Patch150: 0150-2169607-strcpy.patch
Patch160: 0160-2158198-syslog.patch
Patch170: 0170-2172023-mlogf.patch
Patch180: 0180-2175507-alloca_sockaddr.patch
Patch190: 0190-2189391-fix-fork-race-in-getProcess.patch
Patch200: 0200-2192023-Fix-nsHt-deadlock.patch
Patch210: 0210-2185304-shutdown_deadlock_remove_mlogf.patch
Patch220: 0220-2189234-minimal-provider-count-is-3-4-with-interOpProvider.patch
Patch230: 0230-2169807-435882-xml-char-ref.patch
Patch240: 0240-msgqueue_unlink.patch
Patch250: 0250-bnc444403-access_control.patch
Patch260: 0260-2390100-mlogf-args.patch
Patch270: 0270-max_content_length2.patch
Patch280: 0280-decode64.patch
Patch290: 0290-bnc445795-2095972-startup_hang.patch
Patch300: 0300-bnc425457-2169514-limit_message_size.patch
Patch310: 0310-bnc457768-2433594-unaligned_access.patch
Patch320: 0320-bnc457366A-2140807-static_instances.patch
Patch330: 0330-bnc457366B-2441640-mofc_instance_migration.patch
Patch340: 0340-bnc458541-2479947-valueList.patch
Patch350: 0350-bnc466666-2093567-ref-quals.patch
Patch360: 0360-bnc470203-genSslCert-mktemp.patch
Patch370: 0370-limits.patch
Provides: cimserver
Provides: cim-server
%if 0%{?suse_version} >= 1030
BuildRequires: libcurl-devel
%else
BuildRequires: curl-devel
%endif
BuildRequires: zlib-devel
BuildRequires: openssl-devel
BuildRequires: pam-devel
BuildRequires: cim-schema
BuildRequires: bison flex
Requires: curl
Requires: zlib
Requires: openssl
Requires: pam
# Added NWP - dependency on cim-schema instead of inbuilt schema
Requires: cim-schema
PreReq: /usr/sbin/groupadd /usr/sbin/groupmod
%description
Small Footprint CIM Broker (sfcb) is a CIM server conforming to the CIM
Operations over HTTP protocol. It is robust, with low resource
consumption and therefore specifically suited for embedded and resource
constrained environments. sfcb supports providers written against the
Common Manageability Programming Interface (CMPI).
%prep
%setup -q
%patch1 -p1 -b .0001-uds_auth.patch
%patch3 -p1 -b .0003-align.patch
%patch6 -p1 -b .0006-Werror.patch
%patch7 -p1 -b .0007-automake.patch
%patch8 -p1 -b .0008-enable-hex-trace-mask.patch
%patch9 -p1 -b .0009-clean-up-semaphore-array-index-calculation.patch
%patch11 -p1 -b .0011-check-prevent-various-buffer-overflows.patch
%patch15 -p1 -b .0015-fix-potential-memory-leak.patch
%patch16 -p1 -b .0016-check-result-from-_methProvider.patch
%patch17 -p1 -b .0017-abort-on-socket-error-with-better-error-msg.patch
%patch18 -p1 -b .0018-buffer-size-check-in-localConnectServer.patch
%patch19 -p0 -b .0019-internal_provider.patch
%patch100 -p0 -b .0100-check_length_sanity.patch
%patch110 -p0 -b .0110-2164750-sfcb_handle_malformed_requests.patch
%patch120 -p0 -b .0120-max_content_length.patch
%patch130 -p0 -b .0130-2169514-check_malloc.patch
%patch140 -p0 -b .0140-2169527-attrsOk_alloca_fix.patch
%patch150 -p0 -b .0150-2169607-strcpy.patch
%patch160 -p0 -b .0160-2158198-syslog.patch
%patch170 -p0 -b .0170-2172023-mlogf.patch
%patch180 -p0 -b .0180-2175507-alloca_sockaddr.patch
%patch190 -p1 -b .0190-2189391-fix-fork-race-in-getProcess.patch
%patch200 -p1 -b .0200-2192023-Fix-nsHt-deadlock.patch
%patch210 -p0 -b .0210-2185304
%patch220 -p1 -b .0220-2189234-minimal-provider-count-is-3-4-with-interOpProvider.patch
%patch230 -p0 -b .0230-2169807-435882-xml-char-ref.patch
%patch240 -p0 -b .0240-msgqueue_unlink.patch
%patch250 -p0 -b .0250-bnc444403-access_control.patch
%patch260 -p0 -b .0260-2390100-mlogf-args.patch
%patch270 -p0 -b .0270-max_content_length2.patch
%patch280 -p0 -b .0280-decode64.patch
%patch290 -p0 -b .0290-bnc445795-2095972-startup_hang.patch
%patch300 -p0 -b .0300-bnc425457-2169514-limit_message_size.patch
%patch310 -p0 -b .0310-bnc457768-2433594-unaligned_access.patch
%patch320 -p0 -b .0320-bnc457366A-2140807-static_instances.patch
cd mofc
%patch330 -p0 -b .0330-bnc457366B-2441640-mofc_instance_migration.patch
cd ..
%patch340 -p0 -b .0340-bnc458541-2479947-valueList.patch
%patch350 -p0 -b .0350-bnc466666-2093567-ref-quals.patch
%patch360 -p0 -b .0360-bnc470203-genSslCert-mktemp.patch
%patch370 -p0 -b .0370-limits.patch
export PATCH_GET=0
%build
#autoreconf -f -i
cp %SOURCE1 .
cp %SOURCE3 mofc/autoconfiscate.sh
chmod +x mofc/autoconfiscate.sh
sh ./autoconfiscate.sh
#if test -d mofc; then cd mofc && autoreconf -f -i; fi
#%%configure --enable-debug --enable-ssl --enable-pam --enable-ipv6 CIMSCHEMA_SOURCE=%{SOURCE1} CIMSCHEMA_MOF=cimv216.mof CIMSCHEMA_SUBDIRS=y
mkdir -p m4
%configure --enable-debug --enable-ssl --enable-pam --enable-ipv6
make
%install
%makeinstall
# comment out - NWP - removing schema pkg
#make DESTDIR=$RPM_BUILD_ROOT install-cimschema
# remove docs from wrong dir. They are handled by %doc macro in files list
rm -r $RPM_BUILD_ROOT/usr/share/doc
# remove unused libtool files
rm -f $RPM_BUILD_ROOT/%{_libdir}/*a
# make the cmpi directory that sfcb will own - for SuSE Autobuild checks of rpm directory ownership
mkdir $RPM_BUILD_ROOT/%{_libdir}/cmpi
%if 0%{?suse_version}
# override the default-installed sfcb init script - use the one from Source2
# due to /etc/SuSE-release not available in autobuild, so won't install
# correct init script
install %SOURCE2 $RPM_BUILD_ROOT/etc/init.d/sfcb
ln -s /etc/init.d/sfcb $RPM_BUILD_ROOT/usr/sbin/rcsfcb
%endif
# Added NWP 5/14/08 - transition to using cim-schema rpm instead of internal-built schema
ln -sf /usr/share/mof/cim-current $RPM_BUILD_ROOT/%{_datadir}/sfcb/CIM
install -m 0644 %SOURCE4 $RPM_BUILD_ROOT/etc/pam.d/sfcb
echo "%defattr(-,root,root)" > _pkg_list
# Added NWP 5/14/08 - moved from 'files schema'
echo "%dir %{_datadir}/sfcb/" >> _pkg_list
find $RPM_BUILD_ROOT/%{_datadir}/sfcb -type f | grep -v $RPM_BUILD_ROOT/%{_datadir}/sfcb/CIM >> _pkg_list
# Added next line - NWP - declaring link to CIM as part of pkg
echo "%{_datadir}/sfcb/CIM" >> _pkg_list
# end add NWP
sed s?$RPM_BUILD_ROOT??g _pkg_list > _pkg_list_2
mv -f _pkg_list_2 _pkg_list
echo "%dir %{_libdir}/cmpi/" >> _pkg_list
echo "%dir %{_sysconfdir}/sfcb/" >> _pkg_list
echo "%config %{_sysconfdir}/sfcb/*" >> _pkg_list
echo "%config %{_sysconfdir}/pam.d/*" >> _pkg_list
echo "%doc README COPYING AUTHORS" >> _pkg_list
echo "%doc %{_datadir}/man/man1/*" >> _pkg_list
echo "%{_sysconfdir}/init.d/sfcb" >> _pkg_list
echo "%{_localstatedir}/lib/sfcb" >> _pkg_list
echo "%{_bindir}/*" >> _pkg_list
echo "%{_sbindir}/*" >> _pkg_list
echo "%{_libdir}/*.so*" >> _pkg_list
echo =======================================
cat _pkg_list
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%pre
/usr/sbin/groupadd -r sfcb >/dev/null 2>&1 || :
/usr/sbin/groupmod -A root sfcb >/dev/null 2>&1 || :
%post
test -n "$FIRST_ARG" || FIRST_ARG=$1
#removed NWP, placed into init script for first service startup
#%{_datadir}/sfcb/genSslCert.sh %{_sysconfdir}/sfcb
%if 0%{?suse_version}
%{fillup_and_insserv -f sfcb}
%endif
if test "$FIRST_ARG" -eq 1 ; then
sfcbrepos -f 2> /dev/null || :
fi
# else we do it in postun instead.
/sbin/ldconfig
exit 0
%preun
%stop_on_removal sfcb
%postun
test -n "$FIRST_ARG" || FIRST_ARG=$1
/sbin/ldconfig
if test "$FIRST_ARG" -ge 1 ; then
sfcbrepos -f 2> /dev/null || :
fi
%restart_on_update sfcb
%insserv_cleanup
%files -f _pkg_list
%changelog