Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:11.4
pcp
pcp.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pcp.spec of Package pcp
# # spec file for package pcp (Version 2.5.0) # # 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: pcp BuildRequires: bison flex gcc-c++ ncurses-devel procps Version: 2.5.0 Release: 130 Summary: Performance Co-Pilot (system-level performance monitoring) License: GPLv2+ Url: http://oss.sgi.com/projects/pcp Group: System/Monitoring Source: pcp-%{version}.src.tar.gz Patch0: pcp-%{version}-SuSE.diff Patch1: pcp-%{version}-ndbm.diff Patch2: pcp-%{version}-rpmlint.diff Patch3: pcp-gcc43.patch Patch4: pcp-init.patch Patch5: pcp-2.5.0-buffer-overflow.diff Patch6: pcp-xenbuild.patch Patch7: pcp-2.5.0-GCC44.patch Patch8: pcp-pic.diff PreReq: %insserv_prereq %fillup_prereq permissions BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Performance Co-Pilot (PCP) is a framework and services to support system-level performance monitoring and performance management. Authors: -------- SGI OSS <owner-pcp@oss.sgi.com> %package devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ License: GPLv2+ Requires: %{name} = %{version} %description devel This package contains all necessary include files and libraries needed to develop applications that require these. Authors: -------- SGI OSS <owner-pcp@oss.sgi.com> %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 %patch4 %patch5 %patch6 %patch7 -p1 %patch -P 8 -p1 %build %{suse_update_config -f} autoconf YACC="yacc" ./configure \ --bindir=%{_bindir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --datadir=%{_datadir}/pcp \ --sysconfdir=/etc/pcp \ --sbindir=/usr/lib/pcp \ --localstatedir=/var/lib/pcp export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-fomit-frame-pointer/} CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \ /usr/bin/gmake default_pcp %install DIST_ROOT=$RPM_BUILD_ROOT DIST_MANIFEST=`pwd`/install.manifest export DIST_ROOT DIST_MANIFEST rm -f $DIST_MANIFEST /usr/bin/gmake install_pcp # local setting install -d $RPM_BUILD_ROOT/usr/sbin ./install-sh -S ../../etc/init.d/pcp /usr/sbin/rcpcp ./install-sh -S ../../etc/init.d/pmie /usr/sbin/rcpmie ./install-sh -S ../../etc/init.d/pmproxy /usr/sbin/rcpmproxy set +x PCP_CONF=src/include/pcp.conf export PCP_CONF . src/include/pcp.env sort $DIST_MANIFEST | uniq | $PCP_AWK_PROG ' $1 == "d" { printf ("%%%%dir %%%%attr(%%s,root,root) %%s\n", $2, $5); } $1 == "f" { if ( match ($6, "'$PCP_VAR_DIR'/config") || match ($6, "'$PCP_SYSCONFIG_DIR'") ) { printf ("%%%%config "); } if (match ($6, "'$PCP_MAN_DIR'") || match ($6, "'$PCP_DOC_DIR'")) { printf ("%%%%doc "); } g = $4; if (g == "trusted") { printf ("%%%%verify(not mode group) "); } else if (g == "bin") { g = "root"; } printf ("%%%%attr(%%s,root,%%s) %s\n", $2, g, $6); } $1 == "l" { printf "%%%%attr(-,root,root) %%s\n", $3; } ' | tee files-all.rpm | perl -e ' open(N, "> files.rpm") || die; open(D, "> files-devel.rpm") || die; while ( <> ) { if ( m{(include|man3|/var/lib/pcp/(pmdas|demos))} || m{\.(c|h|so)$} ) { print D; } else { print N; } }' set -x %clean [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ] || rm -rf $RPM_BUILD_ROOT %verifyscript %verify_permissions -e /usr/lib/pcp/pmpost %files -f files.rpm %files -f files-devel.rpm devel %preun if [ "$1" -eq 0 ] then # # Stop daemons before erasing the package # if [ -f /etc/pcp.env ] ; then . /etc/pcp.env $PCP_RC_DIR/pcp stop >/dev/null 2>&1 $PCP_RC_DIR/pmie stop >/dev/null 2>&1 [ -x $PCP_RC_DIR/pmproxy ] && $PCP_RC_DIR/pmproxy stop >/dev/null 2>&1 rm -f $PCP_VAR_DIR/pmns/.NeedRebuild fi fi exit 0 %postun %insserv_cleanup exit 0 %post %run_permissions if [ -f /etc/pcp.env ] ; then . /etc/pcp.env . $PCP_SHARE_DIR/lib/rc-proc.sh touch $PCP_VAR_DIR/pmns/.NeedRebuild chmod 644 $PCP_VAR_DIR/pmns/.NeedRebuild if [ ! -f $PCP_VAR_DIR/pmns/root ] then if [ -f $PCP_VAR_DIR/pmns/root.saved ] then # restore the previous pmns after upgrade mv $PCP_VAR_DIR/pmns/root.saved $PCP_VAR_DIR/pmns/root else # empty initial name space (prior to Rebuild) echo "root {" >$PCP_VAR_DIR/pmns/root echo "}" >>$PCP_VAR_DIR/pmns/root fi chmod 644 $PCP_VAR_DIR/pmns/root else # root pmns already exists, so we need to restore # pmcd.conf and pmcd.options if they were saved. for f in $PCP_PMCDCONF_PATH $PCP_PMCDOPTIONS_PATH do if [ -f $f -a -f $f.rpmsave ] then mv $f $f.rpmnew mv $f.rpmsave $f fi done fi # # delete *.rpmorig turds that are the same as their new version find $PCP_VAR_DIR/config -name \*.rpmorig -print \ | while read f do if diff $f `basename $f .rpmorig` >/dev/null 2>&1 then rm -f $f fi done x=$PCP_SHARE_DIR/lib/.migrate_pcp_var_dir [ -x $x ] && $x fi %{fillup_and_insserv pcp} exit 0 %triggerpostun -- pcp < 2.1.9 # # Fix for bug where pcp-2.1.6 %postun script would chkconfig pcp off # and remove the .NeedRebuild and .NeedUpdate files. This was done # *after* the %post script of the new version, causing upgrade havoc. # if [ "$1" -gt 0 ] then . /etc/pcp.env . $PCP_SHARE_DIR/lib/rc-proc.sh touch $PCP_VAR_DIR/pmns/.NeedRebuild chmod 644 $PCP_VAR_DIR/pmns/.NeedRebuild fi exit 0 %triggerun -- pcp < 2.2.0-18 # # first half of fix for bug #825229 where upgrade # clobbers $PCP_VAR_DIR/pmns/root # if [ "$1" -gt 0 ] then . /etc/pcp.env if [ -f $PCP_VAR_DIR/pmns/root ] then cp $PCP_VAR_DIR/pmns/root $PCP_VAR_DIR/pmns/root.saved fi fi exit 0 %triggerpostun -- pcp < 2.2.0-18 # # second half of the fix for bug #825229 # if [ "$1" -gt 0 ] then . /etc/pcp.env if [ ! -f $PCP_VAR_DIR/pmns/root ] then if [ -f $PCP_VAR_DIR/pmns/root.saved ] then mv $PCP_VAR_DIR/pmns/root.saved $PCP_VAR_DIR/pmns/root else # empty initial name space (prior to Rebuild) echo "root {" >$PCP_VAR_DIR/pmns/root echo "}" >>$PCP_VAR_DIR/pmns/root fi chmod 644 $PCP_VAR_DIR/pmns/root fi fi exit 0 %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor