#============================================================================== # # OpenPegasus (Red Hat release) RPM .spec file # # tog-pegasus.spec # # Copyright (c) 2000 - 2006, # The Open Group; Hewlett-Packard Development Company, L.P.; IBM Corp.; # BMC Software; Tivoli Systems. # Licensed under the "Open Group Pegasus Open Source" license # shipped with this software. # # Upstream tog-pegasus.spec file modified for Red Hat build - # April 2006, Jason Vas Dias , Red Hat Inc. # #============================================================================== %{?!LINUX_VERSION: %define LINUX_VERSION FC6} # %{?!PEGASUS_BUILD_TEST_RPM: %define PEGASUS_BUILD_TEST_RPM 0} # do "rpmbuild --define 'PEGASUS_BUILD_TEST_RPM 1'" to build test RPM. # %{?!NOCLEAN: %define NOCLEAN 0} # ^- 1: don't do %clean %{?!NODEBUGINFO: %define NODEBUGINFO 0} # ^- 1: don't generate debuginfo or strip binaries %if %{NODEBUGINFO} %define debug_package %{nil} %endif %define srcname pegasus %define pegasus_gid 65 %define pegasus_uid 66 Version: 2.5.1 Release: 1%{?LINUX_VERSION:.%{LINUX_VERSION}} Epoch: 2 # Summary: OpenPegasus WBEM Services for Linux Name: tog-pegasus Group: Systems Management/Base URL: http://www.openpegasus.org # License: Open Group Pegasus Open Source # BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # Source: http://www.openpegasus.org/uploads/40/10123/%{srcname}-%{version}.tar.gz Source1: pegasus_rpm_build_env.sh Source2: README.RedHat.Security # Patch0: pegasus-2.5.1-initscript.patch Patch1: pegasus-2.5.1-no-rpath.patch Patch2: pegasus-2.5.1-linkflags.patch Patch3: pegasus-2.5.1-PIE.patch Patch4: pegasus-2.5.1-warnings.patch Patch5: pegasus-2.5.1-redhat-config.patch Patch6: pegasus-2.5.1-cmpi-provider-lib.patch Patch7: pegasus-2.5.1-local-or-remote-auth.patch Patch8: pegasus-2.5.1-pam-wbem.patch # Conflicts: openwbem Provides: tog-pegasus-cimserver # BuildRequires: bash, sed, grep, coreutils, procps, gcc, gcc-c++ BuildRequires: libstdc++, make, pam-devel BuildRequires: openssl-devel >= 0.9.6, e2fsprogs Requires: bash, sed, grep, coreutils, procps, openssl >= 0.9.6, pam Requires: redhat-lsb, chkconfig, SysVinit Requires: e2fsprogs, bind-utils, net-tools Requires(post): bash, sed, grep, coreutils, procps, openssl >= 0.9.6, pam Requires(post): redhat-lsb, chkconfig, SysVinit Requires(post): e2fsprogs, bind-utils, net-tools Requires(pre): bash, sed, grep, coreutils, procps, openssl >= 0.9.6, pam Requires(pre): redhat-lsb, chkconfig, SysVinit Requires(pre): e2fsprogs, bind-utils, net-tools Requires(postun): bash, sed, grep, coreutils, procps, openssl >= 0.9.6, pam Requires(postun): redhat-lsb, chkconfig, SysVinit Requires(postun): e2fsprogs, bind-utils, net-tools %description OpenPegasus WBEM Services for Linux enables management solutions that deliver increased control of enterprise resources. WBEM is a platform and resource independent DMTF standard that defines a common information model and communication protocol for monitoring and controlling resources from diverse sources. %package devel Summary: The OpenPegasus Software Development Kit Group: Systems Management/Base Requires: tog-pegasus >= %{version} Obsoletes: tog-pegasus-sdk Requires: make, gcc, gcc-c++ Requires(preun): make %description devel The OpenPegasus WBEM Services for Linux SDK is the developer's kit for the OpenPegasus WBEM Services for Linux release. It provides Linux C++ developers with the WBEM files required to build WBEM Clients and Providers. It also supports C provider developers via the CMPI interface. %if %{PEGASUS_BUILD_TEST_RPM} %package test Summary: The OpenPegasus Tests Group: Systems Management/Base Requires: tog-pegasus >= %{version} Requires(post): make Requires(postun): make %description test The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm. ********************************************************************************** *** DO NOT INSTALL THIS RPM ON A PRODUCTION SYSTEM - THIS IS FOR TESTING ONLY. *** ********************************************************************************** %endif %prep %setup -q -n %{srcname} %patch0 -p1 -b .initscript %patch1 -p1 -b .no-rpath %patch2 -p1 -b .linkflags %patch3 -p1 -b .PIE %patch4 -p1 -b .warnings %patch5 -p1 -b .redhat-config %patch6 -p1 -b .cmpi-provider-lib %patch7 -p1 -b .local-or-remote-auth %patch8 -p1 -b .pam-wbem %build rm -rf ${RPM_BUILD_ROOT} || :; export RPM_ARCH_LIB=%{_lib} . %SOURCE1 %if %{PEGASUS_BUILD_TEST_RPM} export PEGASUS_DISPLAYCONSUMER_DIR=/var/lib/Pegasus/log %endif make -f $PEGASUS_ROOT/Makefile.Release create_ProductVersionFile make -f $PEGASUS_ROOT/Makefile.Release create_CommonProductDirectoriesInclude make -f $PEGASUS_ROOT/Makefile.Release create_ConfigProductDirectoriesInclude make -f $PEGASUS_ROOT/Makefile.Release all make -f $PEGASUS_ROOT/Makefile.Release repository %install . %SOURCE1 export PEGASUS_STAGING_DIR=$RPM_BUILD_ROOT; %if %{PEGASUS_BUILD_TEST_RPM} export PEGASUS_BUILD_TEST_RPM=%{PEGASUS_BUILD_TEST_RPM}; %endif make -f $PEGASUS_ROOT/Makefile.Release stage; cp -fp %SOURCE2 doc mkdir -p ${RPM_BUILD_ROOT}/etc/rc.d; mkdir -p ${RPM_BUILD_ROOT}/var/run/tog-pegasus/socket; mv ${RPM_BUILD_ROOT}/etc/init.d ${RPM_BUILD_ROOT}/etc/rc.d ||:; cp -fp rpm/tog-pegasus.rc ${RPM_BUILD_ROOT}/etc/rc.d/init.d/tog-pegasus; touch ${RPM_BUILD_ROOT}{/etc/Pegasus/{cimserver_current.conf,cimserver_planned.conf,cimserver_trust,indication_trust,crl},/var/run/tog-pegasus/{socket/cimxml.socket,cimserver.pid,cimserver_start.lock}} rm -rf ${RPM_BUILD_ROOT}/usr/share/doc/%{name}-2.5 %if %{NODEBUGINFO} /usr/lib/rpm/brp-compress; exit 0; %endif %files %defattr(0750, root, pegasus, 0750) /usr/%{_lib}/* /usr/sbin/* /usr/bin/* /usr/share/Pegasus/scripts %config /etc/rc.d/init.d/tog-pegasus %defattr(0640, root, pegasus, 0750) %dir /etc/Pegasus %ghost %config(noreplace) /etc/Pegasus/cimserver_current.conf %ghost %config(noreplace) /etc/Pegasus/cimserver_planned.conf %config(noreplace) /etc/Pegasus/access.conf %config(noreplace) /etc/pam.d/wbem %ghost /etc/Pegasus/ssl.cnf %ghost /etc/Pegasus/client.pem %ghost /etc/Pegasus/server.pem %ghost /etc/Pegasus/file.pem %ghost /etc/Pegasus/cimserver_trust %ghost /etc/Pegasus/indication_trust %ghost /etc/Pegasus/crl %dir /var/lib/Pegasus /var/lib/Pegasus/repository /var/lib/Pegasus/cache %dir /var/lib/Pegasus/log %ghost /var/lib/Pegasus/log/install.log %dir %attr(1750,root,pegasus) /var/run/tog-pegasus %ghost /var/run/tog-pegasus/cimserver.pid %ghost /var/run/tog-pegasus/cimserver_start.lock %dir %attr(1750,root,pegasus) /var/run/tog-pegasus/socket %ghost %attr(1640,root,pegasus) /var/run/tog-pegasus/socket/cimxml.socket /usr/share/man/man8/* %defattr(0644, root, pegasus, 0755) %dir /usr/share/Pegasus /usr/share/Pegasus/mof /usr/share/man/man1/* %doc doc/license.txt doc/Admin_Guide_Release.pdf doc/PegasusSSLGuidelines.htm doc/SecurityGuidelinesForDevelopers.html doc/README.RedHat.Security src/Clients/repupgrade/doc/repupgrade.html %files devel %defattr(0644,root,pegasus,0755) /usr/include/Pegasus /usr/share/Pegasus/samples /usr/share/Pegasus/html %if %{PEGASUS_BUILD_TEST_RPM} %files test %defattr(0640,root,pegasus,0750) %dir /usr/share/Pegasus/test /usr/share/Pegasus/test/Makefile /var/lib/Pegasus/testrepository %defattr(0750,root,pegasus,0750) /usr/share/Pegasus/test/bin /usr/share/Pegasus/test/lib %endif %clean %if !%{NOCLEAN} [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf $RPM_BUILD_ROOT; [ "${RPM_BUILD_DIR}" != "/" ] && rm -rf ${RPM_BUILD_DIR}/%{name}-%{version}; %endif %pre if [ $1 -eq 1 ]; then # first install: create the 'pegasus' user and group: /usr/sbin/groupadd -g %{pegasus_gid} -f -r pegasus >/dev/null 2>&1 || :; /usr/sbin/useradd -u %{pegasus_uid} -r -n -M -g pegasus -s /sbin/nologin -d /var/lib/Pegasus \ -c "tog-pegasus OpenPegasus WBEM/CIM services" pegasus >/dev/null 2>&1 || :; elif [ $1 -gt 1 ]; then if [ -d /var/lib/Pegasus/repository ]; then if [ -d /var/lib/Pegasus/prev_repository ]; then mv /var/lib/Pegasus/prev_repository /var/lib/Pegasus/prev_repository_`date '+%Y-%m-%d-%s.%N'`.rpmsave; fi; mv /var/lib/Pegasus/repository /var/lib/Pegasus/prev_repository; fi fi :; %post ldconfig; chkconfig --add tog-pegasus; if [ $1 -eq 1 ]; then echo `date` > /var/lib/Pegasus/log/install.log 2>&1 elif [ $1 -gt 1 ]; then echo `date` >> /var/lib/Pegasus/log/install.log 2>&1 || :; if [ -d /var/lib/Pegasus/prev_repository ]; then # The user's old repository was moved to /var/lib/Pegasus/prev_repository, which # now must be upgraded to the new repository in /var/lib/Pegasus/repository: /usr/sbin/repupgrade /var/lib/Pegasus/prev_repository /var/lib/Pegasus/repository \ 2>> /var/lib/Pegasus/log/install.log || :; mv /var/lib/Pegasus/prev_repository /var/lib/Pegasus/prev_repository_`date '+%Y-%m-%d-%s.%N'`.rpmsave; fi; /sbin/service tog-pegasus condrestart >/dev/null 2>&1 || :; fi :; %preun if [ $1 -eq 0 ]; then /sbin/service tog-pegasus stop >/dev/null 2>&1 || :; /sbin/chkconfig --del tog-pegasus >/dev/null 2>&1 || :; fi :; %postun ldconfig %preun devel if [ $1 -eq 0 ] ; then make --directory /usr/share/Pegasus/samples -s clean >/dev/null 2>&1 || :; fi :; %if %{PEGASUS_BUILD_TEST_RPM} %preun test if [ $1 -eq 0 ]; then make --directory /usr/share/Pegasus/test -s unsetupTEST >/dev/null 2>&1 || :; if [ -d /var/lib/Pegasus/testrepository ]; then mv /var/lib/Pegasus/testrepository_`date '+%Y-%m-%d-%s.%N'`.rpmsave; fi; fi; :; %endif %changelog * Thu Apr 06 2006 Jason Vas Dias - 2:2.5.1-1 - Upgrade to version 2.5.1 (including new upstream .spec file). * Tue Mar 7 2006 Bill Nottingham - 2:2.5-9 - use an assigned uid/gid, do not loop over user ids looking for a free one * Fri Feb 10 2006 Jesse Keating - 2:2.5-6.1 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jason Vas Dias - 2:2.5-6 - restore SSLv23_method SSL support now that bug 173399 is fixed - rebuild for new gcc, glibc, glibc-kernheaders - PAMBasicAuthenticatorUnix.cpp includes no longer include syslog.h: add - /usr/bin/install now decides to fail if chown fails - set $INSTALL_USER, $INSTALL_GROUP * Thu Dec 15 2005 Jason Vas Dias - 2:2.5-5 - fix bug 175434 : deal with pegasus uid/gid already existing on first install * Fri Dec 09 2005 Jesse Keating - 2:2.5-4.1 - rebuilt * Wed Nov 16 2005 Jason Vas Dias - 2:2.5-4 - fix bug 173401: SSL support broken by openssl-0.9.7g -> 0.9.8a upgrade * Wed Nov 09 2005 Jason Vas Dias - 2:2.5-3 - Rebuild for new openssl dependencies - Enable CMPI support for sblim-cmpi-base with ENABLE_CQL=true * Mon Oct 31 2005 Jason Vas Dias - 2:2.5-2 - Add /usr/lib/cmpi alternate providerLibDir for sblim-cmpi-base Fedora Extras pkg - Fix bug 171124: use numeric ids for pegasus user/group - guidelines: do not remove pegasus user/group in %%postun. * Fri Oct 14 2005 Tomas Mraz - use include instead of pam_stack in pam config * Fri Sep 30 2005 Jason Vas Dias - 2:2.5-1 - Implemented new 'make install' target. - Re-wrote tog-pegasus.spec file from scratch. - Ported BZ 167986 authentication code and BZ 167164 + BZ 167165 fixes from RHEL-4 * Wed Sep 28 2005 Jason Vas Dias - 2:2.5-0 - Initial build.