# # # 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 %{?dist}} # %{?!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 %define multilib 0 %define bsx '' %ifarch i386 x86_64 ppc ppc64 s390 s390x %define multilib 1 %define bsx -32 %ifarch x86_64 ppc64 s390x %define bsx -64 %endif %endif Version: 2.5.2 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}-%{_target_cpu}-%(%{__id} -u -n) # Source: http://www.openpegasus.org/uploads/40/10123/%{srcname}-%{version}.tar.gz Source1: RedHat.OpenPegasus.Makefile Source2: README.RedHat.Security Source3: genOpenPegasusSSLCerts Source4: pegasus_arch_alternatives # 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 # # patches 4, 10, 12-14, 17-37 now upstream # Patch5: pegasus-2.5.1-redhat-config.patch Patch6: pegasus-2.5.2-cmpi-provider-lib.patch Patch7: pegasus-2.5.2-local-or-remote-auth.patch Patch8: pegasus-2.5.1-pam-wbem.patch Patch9: pegasus-2.5.1-parallel_make.patch Patch11: pegasus-2.5.1-fix_tests.patch Patch15: pegasus-2.5.2-PATH_MAX.patch Patch16: pegasus-2.5.1-HOSTNAME_MAX.patch Patch38: pegasus-2.5.1-bz198185.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}, make %description test The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm. %endif %prep %setup -q -n %{srcname} %patch0 -p1 -b .initscript %patch1 -p1 -b .no-rpath %patch2 -p1 -b .linkflags %patch3 -p1 -b .PIE %patch5 -p1 -b .redhat-config %patch6 -p1 -b .cmpi-provider-lib %patch7 -p1 -b .local-or-remote-auth %patch8 -p1 -b .pam-wbem %patch9 -p1 -b .parallel-make %patch11 -p1 -b .fix-tests %patch15 -p1 -b .PATH_MAX %patch16 -p1 -b .HOSTNAME_MAX %patch38 -p1 -b .bz198185 find . -name 'CVS' -exec /bin/rm -rf '{}' ';' >/dev/null 2>&1 ||:; %build rm -rf ${RPM_BUILD_ROOT} || :; cp -fp %SOURCE1 .; cp -fp %SOURCE2 doc cp -fp %SOURCE3 rpm export RPM_ARCH_LIB=%{_lib} export RPM_ARCH=%{_target_cpu} make %{?_smp_mflags} -f RedHat.OpenPegasus.Makefile; %if %{PEGASUS_BUILD_TEST_RPM} make %{?_smp_mflags} -f RedHat.OpenPegasus.Makefile tests; %endif %install export RPM_ARCH_LIB=%{_lib} export RPM_ARCH=%{_target_cpu} export BSX=%{bsx} make -f RedHat.OpenPegasus.Makefile install prefix=$RPM_BUILD_ROOT libdir=%{_libdir} root_user=%(%{__id} -u -n) pegasus_user=%(%{__id} -u -n) %if %{PEGASUS_BUILD_TEST_RPM} make -f RedHat.OpenPegasus.Makefile install_tests prefix=$RPM_BUILD_ROOT root_user=%(%{__id} -u -n) pegasus_user=%(%{__id} -u -n) %endif %if %{multilib} %{SOURCE4} --list '%ghost' | grep 'bin/' > ghost_arch_binaries; %{SOURCE4} --list '%ghost' | grep 'mak/' > ghost_arch_devel; %{SOURCE4} --list '%ghost' | grep 'test/'> ghost_arch_test; cp -fp %{SOURCE4} $RPM_BUILD_ROOT/%{_datadir}/Pegasus/scripts; %else touch ghost_arch_binaries; touch ghost_arch_devel; touch ghost_arch_test; %endif %if %{NODEBUGINFO} /usr/lib/rpm/brp-compress; exit 0; %endif :; %files -f ghost_arch_binaries %defattr(0750, root, pegasus, 0750) %if !%{NODEBUGINFO} %exclude /usr/lib/debug %endif %defattr(0755, root, pegasus, 0750) /usr/%{_lib}/* %defattr(0750, root, pegasus, 0750) /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 %ghost /var/lib/Pegasus/cache/trace/cimserver.trc %dir %attr(1750,root,pegasus) /var/run/tog-pegasus %ghost /var/run/tog-pegasus/cimserver.pid %ghost /var/run/tog-pegasus/cimserver_start.lock %ghost %attr(1640,root,pegasus) /var/run/tog-pegasus/cimxml.socket %defattr(0644, root, pegasus, 0755) %dir /usr/share/Pegasus /usr/share/Pegasus/mof /usr/share/man/man8/* /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 -f ghost_arch_devel %defattr(0644,root,pegasus,0755) /usr/include/Pegasus /usr/share/Pegasus/samples /usr/share/Pegasus/html %if %{PEGASUS_BUILD_TEST_RPM} %files test -f ghost_arch_test %defattr(0644,root,pegasus,0755) %dir /usr/share/Pegasus/test /usr/share/Pegasus/test/Makefile%{bsx} /usr/share/Pegasus/test/mak /var/lib/Pegasus/testrepository %defattr(0750,root,pegasus,0755) /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}/%{srcname}; %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 -ge 1 ]; then echo `date` >> /var/lib/Pegasus/log/install.log 2>&1 || :; %if %{multilib} %{_datadir}/Pegasus/scripts/pegasus_arch_alternatives || :; %endif if [ $1 -gt 1 ]; then 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 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; 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 || :; %if %{multilib} if [ "$1" -eq 0 ]; then /usr/sbin/alternatives --remove pegasus /usr/sbin/cimserver-64 >/dev/null 2>&1 || :; /usr/sbin/alternatives --remove pegasus /usr/sbin/cimserver-32 >/dev/null 2>&1 || :; fi %endif fi :; %postun -p /sbin/ldconfig %post devel if [ $1 -ge 0 ]; then %{_datadir}/Pegasus/scripts/pegasus_arch_alternatives devel || :; fi :; %preun devel if [ $1 -eq 0 ] ; then make --directory /usr/share/Pegasus/samples -s clean >/dev/null 2>&1 || :; %if %{multilib} /usr/sbin/alternatives --remove pegasus-devel %{_datadir}/Pegasus/samples/mak/config.mak-64 >/dev/null 2>&1 || :; /usr/sbin/alternatives --remove pegasus-devel %{_datadir}/Pegasus/samples/mak/config.mak-32 >/dev/null 2>&1 || :; %endif fi :; %if %{PEGASUS_BUILD_TEST_RPM} %if %{multilib} %post test if [ $1 -ge 0 ]; then %{_datadir}/Pegasus/scripts/pegasus_arch_alternatives test || :; fi :; %preun test if [ $1 -eq 0 ]; then %if %{multilib} /usr/sbin/alternatives --remove pegasus-test %{_datadir}/Pegasus/test/Makefile-64 >/dev/null 2>&1 || :; /usr/sbin/alternatives --remove pegasus-test %{_datadir}/Pegasus/test/Makefile-32 >/dev/null 2>&1 || :; %endif fi :; %endif %endif %changelog * Thu Jul 27 2006 Jason Vas Dias - 2:2.5.2-1.fc6 - Upgrade to upstream version 2.5.2 - fix bug 198185 - fix bug 200246 * Wed Jul 12 2006 Jesse Keating - 2:2.5.1-10.FC6.1 - rebuild * Fri Jul 07 2006 Jason Vas Dias - 2:2.4.1-10 - More upstream 2.5.2_APPROVED bug fixes: o 4629: Pegasus freezes when it is unable to send out completely, the results of a request o 5073: Class Names on Reference, ReferenceNames, Assoc, AssocNames returned lower case o 5090: cimserver crash on a request after attempting to unload idle CMPI providers o 5180: OperationAggregate deleted in _enqueueResponse while member mutex held * Fri Jun 09 2006 Jason Vas Dias - 2:2.5.1-8 - Fix bug 192754: remove multilib conflicts - More upstream 2.5.2_APPROVED bug fixes: o 5119: memory leak in CMPI implementation o 5115: fix SetConfig_EnvVar comments * Wed May 31 2006 Jason Vas Dias - 2:2.5.1-6 - Apply upstream patches for latest 2.5.2_APPROVED bugs: o 5046: cimprovider timeout needs to be increased o 5047: cimmof timeout needs to be increased o 5048: Invalid Pointer in CIMOperationRequestEncoder code o 5049: Unnecessary dependency on experimental headers o 5051: Improved handling of OOP indication provide module failures o 5053: reserveCapacity method may cause size overflow o 5059: XMLWriter does not escape '>' in strings o 5072: Potential race condition with OOP response chunks o 5083: CIMRequestMessage buildResponse() should be const - Fix bug 193121: restore world read access to libraries * Tue May 02 2006 Jason Vas Dias - 2:2.5.1-4 - fix bug 190432: %exclude /usr/lib/debug from RPM - fix upstream OpenPegasus '2.5.2_APPROVED' bugs, applying upstream patches: o 4955 : Bogus Description property for OperatingSystem provider o 4956 : reserveCapacity method may cause size overflow on invalid input o 4968 : CMPI provider up-calls cause failure with out-of-process o 4978 : snmpDeliverTrap_netsnmp::_createSession function is not thread safe o 4983 : Memory leak in OOP indication generation o 4984 : Forked process hangs in system call o 4986 : Adding automated test for snmpIndication Handler ( http://cvs.opengroup.org/bugzilla/show_bug.cgi?id=? ) - apply upstream update to 'pegasus-2.5.1-warnings.patch' * Mon Apr 17 2006 Jason Vas Dias - 2:2.5.1-3 - Fix repupgrade (make it use correct paths) * Fri Apr 14 2006 Jason Vas Dias - 2:2.5.1-2 - Apply patches for the two '2.5.2_APPROVED' upstream bugzillas 4934(4943) and 4945 : (http://cvs.opengroup.org/bugzilla/buglist.cgi?bug_id=4943%2C4945) - Fix the PATH_MAX and MAXHOSTNAMELEN issues (again) * 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.