File hal-doc.spec of Package hal
#
# spec file for package hal-doc
#
# Copyright (c) 2011 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: hal-doc
%define build_doc 1
# WARNING: If you are editing hal-doc.spec, STOP. Always edit
# hal.spec and then run pre-checkin.sh which will create
# hal-doc.spec based upon hal.spec.
Summary: Daemon for Collecting Hardware Information
%define dbus_version 0.61
%define dbus_release 1
%define hal_info_version 20091130
Version: 0.5.14
Release: 14
Url: http://freedesktop.org/Software/hal
License: AFL-2.0 or GPL-2.0-or-later
Group: System/Daemons
AutoReqProv: on
BuildRequires: fdupes pkg-config
BuildRequires: dbus-1-glib-devel glib2-devel gperf intltool
BuildRequires: libblkid-devel libexpat-devel libusb-devel pciutils-devel
BuildRequires: libselinux-devel perl-XML-Parser popt-devel update-desktop-files
BuildRequires: ConsoleKit-devel PolicyKit-devel
#
%if %build_doc
BuildRequires: gtk-doc xmlto
%else
PreReq: /usr/sbin/groupadd /usr/sbin/useradd /etc/init.d/boot.localfs
PreReq: %insserv_prereq
Requires: dbus-1 >= %{dbus_version}-%{dbus_release}, dbus-1-glib >= %{dbus_version}-%{dbus_release}
Requires: pm-utils
Requires: PolicyKit ConsoleKit
Requires: udev >= 143
Requires: util-linux >= 2.16
%ifarch %ix86 x86_64
Requires: setserial
%endif
%endif
#
# Sources:
Source0: hal-%{version}.tar.bz2
Source1: hal-info-%{hal_info_version}.tar.bz2
Source2: rc.hal
Source3: pre_checkin.sh
Source4: baselibs.conf
Source5: org.freedesktop.Hal.service
Source50: hal-doc-rpmlintrc
Source60: hal-rpmlintrc
Patch0: hal-fix537452.diff
Patch1: hal-computeudi.diff
Patch2: hal-path_max.diff
Patch3: hal-use-at-console.patch
Patch4: hal-nonpolkit-mount-policy.patch
Patch5: hal-fix-docking.patch
Patch6: hal-probe-input-segv.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
%description
HAL is a hardware abstraction layer and aims to provide a live list of
devices present in the system at any point in time. HAL tries to
understand both, physical devices (such as PCI and USB) and the device
classes (such as input, net, and block) physical devices have. Besides
it allows merging of information from device info files specific to a
device. HAL provides a API through D-BUS for querying devices and
notifying when things change. Finally, HAL provides some monitoring (in
an unintrusive way) of devices. For further information, please refer
to the HAL specification.
%if ! %build_doc
%package -n hal-devel
License: AFL-2.0 or GPL-2.0-or-later
Summary: Developer package for HAL
Requires: %{name} = %{version}-%{release}, dbus-1-devel >= %{dbus_version}-%{dbus_release}, dbus-1-glib-devel >= %{dbus_version}-%{dbus_release}
AutoReqProv: on
Group: Development/Libraries/Other
#
%description -n hal-devel
HAL is a hardware abstraction layer and aims to provide a live list of
devices present in the system at any point in time. HAL tries to
understand both physical devices (such as PCI, USB) and the device
classes (such as input, net and block) physical devices have, and it
allows merging of information from so called device info files specific
to a device.
HAL provides a network API through D-BUS for querying devices and
notifying when things change. Finally, HAL provides some monitoring (in
an unintrusive way) of devices, presently ethernet link detection and
volume mounts are monitored.
This, and more, is all described in the HAL specification
%endif
%prep
%setup -n hal-%{version} -a1
%patch0 -p1
%patch1
%patch2
#patch3 -p1
#patch4 -p1
%patch5 -p1
%patch6 -p1
chmod 644 tools/hal-functions
pushd hal-info-%{hal_info_version}
popd
%build
export V=1
autoreconf -fi
%configure \
--libexecdir=%{_prefix}/lib/hal \
--with-os-type=suse \
--with-hwdata=/usr/share \
--with-pid-file=/var/run/hald/haldaemon.pid \
--with-dbus-sys=/etc/dbus-1/system.d \
--with-hal-user=haldaemon \
--with-hal-group=haldaemon \
--with-udev-prefix=/lib \
--docdir=%{_datadir}/doc/packages/hal \
--with-eject=/bin/eject \
--disable-pmu \
--without-keymaps \
--disable-acpi-proc \
--enable-console-kit \
--enable-policy-kit \
--disable-acl-management \
--disable-smbios \
--disable-static \
--with-pic \
%ifarch ppc ppc64 %sparc
--disable-acpi \
--disable-acpi-acpid \
%endif
%if %build_doc
--enable-gtk-doc \
--enable-docbook-docs \
%endif
CFLAGS="${RPM_OPT_FLAGS} -fstack-protector"
make %{?_smp_mflags}
# hal-info
pushd hal-info-%{hal_info_version}
%configure \
--disable-recall \
--disable-video-default-quirks \
--disable-video-nvidia-quirks \
%ifarch ppc ppc64 ia64 s390 s390 s390x %sparc
--disable-killswitch-dell-bluetooth \
--disable-killswitch-dell-wlan \
--disable-killswitch-dell-wwan \
--disable-killswitch-sony-bluetooth \
--disable-killswitch-thinkpad-bluetooth \
%endif
--disable-killswitch-iwl-wlan
make
popd
%install
#install hal
%makeinstall
%if %build_doc
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/doc/packages/hal
install -m 644 {README,COPYING,NEWS} $RPM_BUILD_ROOT/%{_datadir}/doc/packages/hal/
%endif
#install hal-info
pushd hal-info-%{hal_info_version}
%makeinstall
popd
%if %build_doc
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}
rm -rf $RPM_BUILD_ROOT/%{_sbindir}
rm -rf $RPM_BUILD_ROOT/%{_bindir}
rm -rf $RPM_BUILD_ROOT/%{_mandir}
rm -rf $RPM_BUILD_ROOT/%{_libdir}
rm -rf $RPM_BUILD_ROOT/%{_includedir}
rm -rf $RPM_BUILD_ROOT/%{_datadir}/hal
rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale
rm -rf $RPM_BUILD_ROOT/%{_datadir}/PolicyKit
rm -rf $RPM_BUILD_ROOT/%{_localstatedir}
rm -rf $RPM_BUILD_ROOT/%{_prefix}/lib/hal
rm -rf $RPM_BUILD_ROOT/lib/udev/rules.d/90-hal.rules
%else
mkdir -p $RPM_BUILD_ROOT/etc/hal
mkdir -p $RPM_BUILD_ROOT/etc/dbus-1/system.d
mkdir -p $RPM_BUILD_ROOT/etc/init.d
mkdir -p $RPM_BUILD_ROOT/usr/sbin
mkdir -p $RPM_BUILD_ROOT/usr/share/hal/device-manager
mkdir -p $RPM_BUILD_ROOT/usr/share/hal/scripts
install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/haldaemon
ln -sf %{_sysconfdir}/init.d/haldaemon $RPM_BUILD_ROOT/%{_sbindir}/rchal
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
install -d $RPM_BUILD_ROOT/%{_localstatedir}/run/hald
install -d $RPM_BUILD_ROOT/%{_localstatedir}/cache/hald
rm -f $RPM_BUILD_ROOT/etc/hotplug.d/default/20-hal.hotplug
rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/packages/hal/
rm -rf $RPM_BUILD_ROOT/%{_datadir}/gtk-doc/html/libhal/
rm -rf $RPM_BUILD_ROOT/%{_datadir}/gtk-doc/html/libhal-storage
install -D -m 755 %SOURCE5 %buildroot%{_datadir}/dbus-1/system-services/org.freedesktop.Hal.service
%endif
%fdupes %{buildroot}
%if %build_doc
%files
%defattr(-, root, root)
%dir %{_datadir}/doc/packages/hal
%dir %{_datadir}/gtk-doc/html/libhal
%dir %{_datadir}/gtk-doc/html/libhal-storage
%{_datadir}/doc/packages/hal/*
%{_datadir}/gtk-doc/html/libhal/*
%{_datadir}/gtk-doc/html/libhal-storage/*
#
%else
#
%pre
if
getent group haldaemon >/dev/null
then
: OK group haldaemon already present
else
/usr/sbin/groupadd -r haldaemon 2>/dev/null || :
fi
if
getent passwd haldaemon >/dev/null
then
: OK haldaemon user already present
else
/usr/sbin/useradd -r -g haldaemon -c "User for haldaemon" \
-d /var/run/hald -o haldaemon 2>/dev/null || :
fi
/usr/bin/polkit-auth --user haldaemon --grant org.freedesktop.policykit.read >& /dev/null || :
%preun
%{stop_on_removal haldaemon}
%post
/sbin/ldconfig
%{insserv_cleanup}
%postun
/sbin/ldconfig
%{restart_on_update haldaemon}
%{insserv_cleanup}
%files
%defattr(-, root, root)
%dir %{_sysconfdir}/dbus-1/system.d
%dir %{_sysconfdir}/hal
%dir %{_sysconfdir}/init.d/haldaemon
%dir /lib/udev
%dir /lib/udev/rules.d
%dir %{_datadir}/hal
%dir %{_datadir}/hal/fdi
%dir %{_prefix}/lib/hal
%config %{_sysconfdir}/dbus-1/system.d/hal.conf
/lib/udev/rules.d/90-hal.rules
%{_sysconfdir}/hal/*
%{_bindir}/*
%{_datadir}/hal/fdi/*
%{_datadir}/PolicyKit/policy/*
%{_datadir}/dbus-1/system-services/org.freedesktop.Hal.service
%{_libdir}/*hal*.so.*
%{_prefix}/lib/hal/*
%{_mandir}/man1/*
%{_mandir}/man8/*
%{_sbindir}/hal*
%{_sbindir}/rchal
%attr(-,haldaemon,haldaemon) %ghost %{_localstatedir}/run/hald
%attr(-,haldaemon,haldaemon) %ghost %{_localstatedir}/run/hald/hald-runner
%attr(-,haldaemon,haldaemon) %ghost %{_localstatedir}/run/hald/hald-local
%attr(-,haldaemon,haldaemon) %{_localstatedir}/cache/hald
%files -n hal-devel
%defattr(-, root, root)
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*
%endif
%changelog