summaryrefslogtreecommitdiffstats
path: root/src/service/cmpi-service.spec
blob: 90f7a40da4e3488aa33b4da04265d03b3d214e11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
%global provider_dir %{_libdir}/cmpi

Summary:        service instrumentation
Name:           cmpi-service
Version:        0.0.1
Release:        1%{?dist}
License:        GPLv2+
Group:          Applications/System
URL:            http://www.redhat.com
Source0:        %{name}-%{version}.tar.gz

BuildRequires:  libtool
Requires:       cim-server
Requires:       /etc/ld.so.conf.d
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

%description
Standards Based Linux Instrumentation Syslog Providers

%prep
%setup -q

%build
%ifarch s390 s390x ppc ppc64
export CFLAGS="$RPM_OPT_FLAGS -fsigned-char"
%else
export CFLAGS="$RPM_OPT_FLAGS" 
%endif
%configure \
        CIMSERVER=sfcb \
        PROVIDERDIR=%{provider_dir}
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# remove unused libtool files
rm -f $RPM_BUILD_ROOT/%{_libdir}/*a
rm -f $RPM_BUILD_ROOT/%{provider_dir}/*a
# shared libraries
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/cmpi" > $RPM_BUILD_ROOT/%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
# move libraries to provider dir
mv $RPM_BUILD_ROOT/%{_libdir}/lib[Ss]ervice*.so* $RPM_BUILD_ROOT/%{provider_dir}
# add shebang to the scripts
#sed -i -e '1i#!/bin/sh' $RPM_BUILD_ROOT/%{_bindir}/serviceutil.sh

%files
%defattr(-,root,root,-)
%{_bindir}/serviceutil.sh
%{_bindir}/servicedisc.sh
%{provider_dir}/lib[Ss]ervice*.so*
%{_datadir}/%{name}
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf

%define SERVICE_SCHEMA %{_datadir}/%{name}/Linux_Service.mof
%define SERVICE_REGISTRATION %{_datadir}/%{name}/Linux_Service.registration

%pre
# If upgrading, deregister old version
if [ $1 -gt 1 ]; then
  %{_datadir}/%{name}/provider-register.sh -d \
  -r %{SERVICE_REGISTRATION} -m %{SERVICE_SCHEMA} > /dev/null 2>&1 || :;
fi

%post
/sbin/ldconfig
if [ $1 -ge 1 ]; then
# Register Schema and Provider - this is higly provider specific
  %{_datadir}/%{name}/provider-register.sh \
  -r %{SERVICE_REGISTRATION} -m %{SERVICE_SCHEMA} > /dev/null 2>&1 || :;
fi;

%preun
# Deregister only if not upgrading
if [ $1 -eq 0 ]; then
  %{_datadir}/%{name}/provider-register.sh -d \
  -r %{SERVICE_REGISTRATION} -m %{SERVICE_SCHEMA} > /dev/null 2>&1 || :;
fi

%postun -p /sbin/ldconfig

%clean
rm -rf $RPM_BUILD_ROOT

%changelog
* Thu Mar 29 2012 Vitezslav Crhonek <vcrhonek@redhat.com> - 0.0.1-1
- Initial support