X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=pcp.spec;h=b298a51f0c36be7940e99cf7c3589c0e113dc53f;hb=ae9bf6c;hp=6c1925346c24c35eeea27485464d32758ef27ebe;hpb=30d8dac26504222687758230272e8b51d732b90b;p=packages%2Fpcp.git diff --git a/pcp.spec b/pcp.spec index 6c19253..b298a51 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,33 +1,71 @@ # TODO: -# - pcp user/group, log dirs (see Debian packaging) # - PLDify init scripts -# - /var/lib/pcp looks like mess, configs/variable data/scripts/ELFs (maybe consult Debian packaging?) +# - build pmview (BR: openinventor?) +# - /var/lib/pcp looks like mess, configs/variable data/scripts/ELFs (successively resolved upstream) +# NOTE: user/group must be in -libs because of /var/run/pcp, needed for Make.stdpmid in post # +# Conditional build: +%bcond_without qt # Qt 4.x based GUI +%bcond_without systemtap # systemtap/dtrace support + %include /usr/lib/rpm/macros.perl Summary: Performance Co-Pilot - system level performance monitoring and management Summary(pl.UTF-8): Performance Co-Pilot - monitorowanie i zarządzanie wydajnością na poziomie systemu Name: pcp -Version: 3.7.1 -Release: 1 +Version: 3.10.0 +Release: 16 License: LGPL v2.1 (libraries), GPL v2 (the rest) Group: Applications/System Source0: ftp://oss.sgi.com/projects/pcp/download/%{name}-%{version}.src.tar.gz -# Source0-md5: 7131aa83ecd9ab3a409ffacd41a3b43a +# Source0-md5: 483b20d7245fc0a3ef895a965f2b59c2 Patch0: %{name}-ps.patch Patch1: %{name}-opt.patch +Patch2: %{name}-nspr.patch +Patch3: %{name}-saslconfdir.patch +Patch4: %{name}-rpm.patch +Patch5: python-install.patch +Patch6: systemd.patch URL: http://oss.sgi.com/projects/pcp/ BuildRequires: autoconf >= 2.60 +BuildRequires: avahi-devel BuildRequires: bison +BuildRequires: cyrus-sasl-devel >= 2 BuildRequires: flex +%ifarch i386 +BuildRequires: libatomic-devel +%endif +BuildRequires: libibmad-devel +BuildRequires: libibumad-devel +BuildRequires: libmicrohttpd-devel >= 0.9.10 +BuildRequires: nspr-devel >= 4 +BuildRequires: nss-devel >= 3 +BuildRequires: openssl-devel BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-base BuildRequires: perl-tools-pod -BuildRequires: python-devel +BuildRequires: pkgconfig +BuildRequires: python-devel >= 2.0 +BuildRequires: python3-devel >= 1:3.2 BuildRequires: readline-devel +BuildRequires: rpm-devel >= 5 BuildRequires: rpm-perlprov BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.219 +BuildRequires: systemd-devel +%{?with_systemtap:BuildRequires: systemtap-sdt-devel} +%if %{with qt} +BuildRequires: QtAssistant-compat-devel >= 4.4 +BuildRequires: QtCore-devel >= 4.4 +BuildRequires: QtGui-devel >= 4.4 +BuildRequires: QtSvg-devel >= 4.4 +BuildRequires: qt4-build >= 4.4 +BuildRequires: qt4-qmake >= 4.4 +%endif Requires: %{name}-libs = %{version}-%{release} +Requires: libmicrohttpd >= 0.9.10 +Requires: perl-pcp = %{version}-%{release} +Requires: python-pcp = %{version}-%{release} +Suggests: crondaemon BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -39,17 +77,51 @@ the interesting performance data in a system, and allows client applications to easily retrieve and process any subset of that data. %description -l pl.UTF-8 -PCP (Performance Co-Pilot) to szkielet i usługi mające na celu -obsługę monitorowania wydajności i zarządzania wydajnością. +PCP (Performance Co-Pilot) to szkielet i usługi mające na celu obsługę +monitorowania wydajności i zarządzania wydajnością. PCP udostępnia ujednoliconą abstrakcję dla wszystkich interesujących danych związanych z wydajnością w systemie i pozwala aplikacjom klienckim łatwo odczytywać i przetwarzać dowolny podzbiór tych danych. +%package gui +Summary: Performance Co-Pilot GUI tools +Summary(pl.UTF-8): Performance Co-Pilot - narzędzia GUI +Group: X11/Applications +Requires: %{name} = %{version}-%{release} + +%description gui +pmchart is designed to produce stripcharts from Performance Co-Pilot +(PCP) performance metrics fetched from live sources (one or more pmcd +hosts) and also historical sources (one or more PCP archives). + +pmtime is a graphical time controller utility that coordinates time +updates and VCR-like playback for other utilities like pmchart and +pmval. + +%description gui -l pl.UTF-8 +pmchart służy do tworzenia wykresów z danych o wydajności pakietu PCP +(Performance Co-Pilot) pobranych z żywych źródeł (jednego lub większej +liczby hostów pmcd) oraz źródeł historycznych (jednego lub większej +liczby archiwów PCP). + +pmtime to graficzne narzędzie do kontroli czasu, koordynujące +aktualizację czasu oraz odtwarzanie w stylu VCR dla innych narzędzi, +takich jak pmchart czy pmval. + %package libs Summary: PCP libraries Summary(pl.UTF-8): Biblioteki PCP Group: Libraries +Requires(post,postun): /sbin/ldconfig +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Provides: group(pcp) +Provides: user(pcp) %description libs PCP libraries. @@ -94,22 +166,37 @@ Perl interface to PCP libraries. Perlowy interfejs do bibliotek PCP. %package -n python-pcp -Summary: Python interface to PCP libraries -Summary(pl.UTF-8): Pythonowy interfejs do bibliotek PCP +Summary: Python 2 interface to PCP libraries +Summary(pl.UTF-8): Interfejs Pythona 2 do bibliotek PCP Group: Development/Languages/Python Requires: %{name}-libs = %{version}-%{release} %description -n python-pcp -Python interface to PCP libraries. +Python 2 interface to PCP libraries. %description -n python-pcp -l pl.UTF-8 -Pythonowy interfejs do bibliotek PCP. +Interfejs Pythona 2 do bibliotek PCP. + +%package -n python3-pcp +Summary: Python 3 interface to PCP libraries +Summary(pl.UTF-8): Interfejs Pythona 3 do bibliotek PCP +Group: Development/Languages/Python +Requires: %{name}-libs = %{version}-%{release} + +%description -n python3-pcp +Python 3 interface to PCP libraries. + +%description -n python3-pcp -l pl.UTF-8 +Interfejs Pythona 3 do bibliotek PCP. %package -n bash-completion-pcp Summary: bash-completion for PCP utilities Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla narzędzi PCP Group: Applications/Shells Requires: bash-completion +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description -n bash-completion-pcp bash-completion for PCP utilities. @@ -117,14 +204,34 @@ bash-completion for PCP utilities. %description -n bash-completion-pcp -l pl.UTF-8 Bashowe uzupełnianie nazw dla narzędzi PCP. +%package -n systemtap-pcp +Summary: systemtap/dtrace probes for PCP +Summary(pl.UTF-8): Sondy systemtap/dtrace dla PCP +Group: Development/Tools +Requires: %{name} = %{version}-%{release} +Requires: systemtap-client + +%description -n systemtap-pcp +systemtap/dtrace probes for PCP. + +%description -n systemtap-pcp -l pl.UTF-8 +Sondy systemtap/dtrace dla PCP. + %prep %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 %build %{__autoconf} %configure \ + %{!?with_qt:--without-qt} \ + --with-python_prefix=%{_prefix} \ --with-rcdir=/etc/rc.d/init.d # ensure not *zipping man pages on install %{__sed} -i -e '/^HAVE_.*ED_MANPAGES/s,true,false,' src/include/builddefs @@ -145,49 +252,82 @@ install -d $RPM_BUILD_ROOT%{_sysconfdir} install -p src/pmns/stdpmid $RPM_BUILD_ROOT/var/lib/pcp/pmns +# omitted by make install +[ ! -f $RPM_BUILD_ROOT%{_mandir}/man1/pmdarpm.1 ] || exit 1 +cp -p src/pmdas/rpm/pmdarpm.1 $RPM_BUILD_ROOT%{_mandir}/man1 + +install -d $RPM_BUILD_ROOT%{systemdtmpfilesdir} +cat >$RPM_BUILD_ROOT%{systemdtmpfilesdir}/pcp.conf <