Solaris/SUNWdbus.spec
author dcarbery
Fri, 24 Nov 2006 16:37:59 +0000
branch217update
changeset 19096 d542fc2c823e
parent 19094 7bc151988416
child 8642 97057202b5db
permissions -rw-r--r--
Merged trunk changes r9797:9829 into 217update branch.

#
# spec file for package SUNWdbus
#
# includes module(s): dbus
#
# Copyright (c) 2005 Sun Microsystems, Inc.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Owner: yippi
#
%include Solaris.inc

%use dbus = dbus.spec

Name:                    SUNWdbus
Summary:                 Simple IPC library based on messages
Version:                 %{dbus.version}
SUNW_BaseDir:            %{_basedir}
BuildRoot:               %{_tmppath}/%{name}-%{version}-build
Source1:        dbus.xml
Source2:        svc-dbus
%include default-depend.inc
Requires:	SUNWdbus-root
Requires:	SUNWgnome-base-libs
Requires:	SUNWlxml
Requires:	SUNWxwrtl
Requires:       SUNWlexpt
Requires:       SUNWPython-extra
BuildRequires:	SUNWgnome-base-libs-devel
BuildRequires:	SUNWlxml
BuildRequires:  SUNWsfwhea
BuildRequires:  SUNWPython-extra

%package devel
Summary:                 %{summary} - development files
SUNW_BaseDir:            %{_basedir}
%include default-depend.inc
Requires:       SUNWgnome-base-libs

%package root
Summary:                 %{summary} - / filesystem
SUNW_BaseDir:            /
%include default-depend.inc

%prep
rm -rf %name-%version
mkdir %name-%version
%dbus.prep -d %name-%version

%build
%if %cc_is_gcc
%else
export CFLAGS="-xc99 -D_REENTRANT %optflags -I/usr/sfw/include -D__EXTENSIONS__"
%endif
export RPM_OPT_FLAGS=$CFLAGS
export LDFLAGS="%_ldflags -L/usr/sfw/lib -R/usr/sfw/lib -lexpat"
# put /usr/ccs/lib first in the PATH so that cpp is picked up from there
# note: I didn't put /usr/lib in the PATH because there's too much other
# stuff in there
export PATH=/usr/ccs/lib:$PATH
%dbus.build -d %name-%version

%install
rm -rf $RPM_BUILD_ROOT
%dbus.install -d %name-%version
mkdir -p $RPM_BUILD_ROOT/var/svc/manifest/system
chmod -R 755 $RPM_BUILD_ROOT/var/svc
cp %SOURCE1 $RPM_BUILD_ROOT/var/svc/manifest/system/
mkdir -p $RPM_BUILD_ROOT/lib/svc/method
chmod -R 755 $RPM_BUILD_ROOT/lib
cp %SOURCE2 $RPM_BUILD_ROOT/lib/svc/method/

mkdir -p $RPM_BUILD_ROOT/etc/security
echo 'solaris.smf.manage.dbus:::Manage D-BUS Service States::help=SmfDBUSStates.html' > $RPM_BUILD_ROOT/etc/security/auth_attr
echo 'D-BUS Management:::Manage D-BUS:auths=solaris.smf.manage.dbus;help=RtDBUSMngmnt.html' > $RPM_BUILD_ROOT/etc/security/prof_attr

%{?pkgbuild_postprocess: %pkgbuild_postprocess -v -c "%{version}:%{jds_version}:%{name}:$RPM_ARCH:%(date +%%Y-%%m-%%d):%{support_level}" $RPM_BUILD_ROOT}

%clean
rm -rf $RPM_BUILD_ROOT

%if %(test -f /usr/sadm/install/scripts/i.manifest && echo 0 || echo 1)
%iclass manifest -f i.manifest
%endif

%pre root
#!/bin/sh
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

# Presence of this temp file will tell postinstall script
# that the dbus service is already installed, in which case
# the current service state will be preserved, be it enabled
# or disabled.
rm -f $PKG_INSTALL_ROOT/var/dbus_installed.tmp > /dev/null 2>&1

if [ -f $PKG_INSTALL_ROOT/var/svc/manifest/system/dbus.xml ]; then 
	touch $PKG_INSTALL_ROOT/var/dbus_installed.tmp
fi

exit 0

%post root
#!/bin/sh
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

# Preinstall script will create this file if dbus service was already
# installed, in which case we preserve current service state,
# be it enabled or disabled.
if [ -f $PKG_INSTALL_ROOT/var/dbus_installed.tmp ]; then
	rm -f $PKG_INSTALL_ROOT/var/dbus_installed.tmp
else
	# enable dbus:
	# - PKG_INSTALL_ROOT is / or empty when installing onto a live system
	#   and we can invoke svcadm directly;
	# - otherwise it's upgrade, so we append to the upgrade script
	if [ "${PKG_INSTALL_ROOT:-/}" = "/" ]; then
		if [ `/sbin/zonename` = global ]; then
			/usr/sbin/svcadm enable svc:/system/dbus:default
		fi
	else
		cat >> ${PKG_INSTALL_ROOT}/var/svc/profile/upgrade <<-EOF
		if [ \`/sbin/zonename\` = global ]; then
			/usr/sbin/svcadm enable svc:/system/dbus:default
		fi
EOF
	fi
fi

exit 0

%files
%defattr (-, root, bin)
%dir %attr (0755, root, bin) %{_bindir}
%{_bindir}/*
%dir %attr (0755, root, bin) %{_libdir}
%{_libdir}/libdbus*
%{_libexecdir}/dbus-daemon
%dir %attr (0755, root, sys) %dir %{_datadir}
%{_datadir}/dbus-1
%dir %attr(0755, root, bin) %{_mandir}
%dir %attr(0755, root, bin) %{_mandir}/man1
%{_mandir}/man1/*

%files root
%defattr (-, root, bin)
%dir %attr (0755, root, sys) %dir %{_sysconfdir}
%config %{_sysconfdir}/dbus-1
%dir %attr (0755, root, sys) %{_localstatedir}
%dir %attr (0755, root, other) %{_localstatedir}/lib
%attr (0755, root, root) %{_localstatedir}/lib/dbus
%dir %attr (0755, root, sys) %{_localstatedir}/run
%attr (0755, root, root) %{_localstatedir}/run/dbus
%dir %attr (0755, root, sys) /var/svc
%dir %attr (0755, root, sys) /var/svc/manifest
%dir %attr (0755, root, sys) /var/svc/manifest/system
%class(manifest) %attr (0444, root, sys) /var/svc/manifest/system/dbus.xml
%attr (0555, root, bin) /lib/svc/method/svc-dbus
%dir %attr (0755, root, sys) /etc/security
%config %class (rbac) %attr (0644, root, sys) /etc/security/auth_attr
%config %class (rbac) %attr (0644, root, sys) /etc/security/prof_attr

%files devel
%defattr (-, root, bin)
%dir %attr (0755, root, bin) %dir %{_libdir}
%dir %attr (0755, root, other) %dir %{_libdir}/pkgconfig
%{_libdir}/pkgconfig/*
%{_libdir}/dbus*/include
%dir %attr (0755, root, bin) %dir %{_includedir}
%{_includedir}/*


%changelog
* Fri Nov 24 2006 - [email protected]
- Update %files - remove python dir, add %{_localstatedir}/lib/dbus.
* Mon Sep 18 2006 - [email protected]
- revert to normal optimisation flags, the build problems were caused by
  ld(1) bug 6467925
- change /var/run/dbus permissions to root:root, fixes 6460949
* Mon Aug 28 2006 - [email protected]
- Use '-xO2' optimization (not -xO4) as the latter causes seg faults in build.
* Fri Aug 25 2006 - [email protected]
- Use c99 compiler
* Fri Jul 28 2006 - [email protected]
- add pre and post scripts for enabling the dbus svc upon installation
  but leaving it as is upon upgrade (Artem Kachitchkine, David Bustos)
* Fri Jul 21 2006 - [email protected]
- Add dbus RBAC entries to auth_attr and prof_attr
* Mon May 08 2006 - [email protected]
- Add Build/Requires dependency on SUNWPython-extra (for Pyrex) so that python
  bindings are built.
* Tue May 02 2006 - [email protected]
- add SMF support (from Artem Kachitchkine)
* Fri Feb 17 2006 - [email protected]
- Update Build/Requires after running check-deps.pl script.
* Tue Oct 25 2005 - [email protected]
- Add the include dir under _libdir.
* Fri Oct 21 2005 - [email protected]
- Initial spec file created.