File fam.spec of Package fam

#
# spec file for package fam (Version 2.7.0)
#
# Copyright (c) 2008 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:           fam
BuildRequires:  gcc-c++ help2man
License:        GPL v2 or later; LGPL v2.1 or later
Group:          System/Daemons
PreReq:         %install_info_prereq
# bug437293
%ifarch ppc64
Obsoletes:      fam-64bit
%endif
%ifarch  %ix86 ppc
Obsoletes:      fam-32bit
%endif
#
Summary:        File Alteration Monitoring Daemon
Url:            http://oss.sgi.com/projects/fam/
Version:        2.7.0
Release:        129
%define fc_version 0.6.5
Source0:        fam-%{version}.tar.bz2
Source1:        sysconfig.fam
Source2:        init.fam
Source3:        http://fileschanged.sourceforge.net/fileschanged-%fc_version.tar.bz2
Source4:        fam.xinetd
Patch1:         fam.conf.diff
Patch2:         cleanup.patch
Patch3:         fam-2.6.8-dnotify.patch
Patch5:         fileschanged.diff
Patch8:         fam-h.diff
Patch9:         fam-man.patch
Patch10:        fam-largefile.diff
Patch11:        fam-gcc43.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Fam is a file alteration monitoring service. With it, you can receive
signals when files are created or changed.

This package provides libfam, which is used by KDE and GNOME. It also
provides a tool for the console called fileschanged.

To use fam notifications (it can reduce the network load on NFS
servers, especially if they host user home directories) you need to run
the fam daemon, which can be found in the fam-server package.



Authors:
--------
    Bruce Karsh
    Bob Miller
    SGI corp.
    
    Author of fileschanged command line tool:
    Ben Asselstine <bda@panix.com>

%package devel
Group:          Development/Libraries/C and C++
License:        LGPL v2.1 or later
Summary:        Include Files and Libraries Mandatory for Development
Provides:       fam:/usr/include/fam.h
Requires:       glibc-devel libstdc++-devel fam = %version

%description devel
Fam is a file alteration monitoring service. This means that you can
receive signals if files are created or changed.

This package provides the files that are needed to compile applications
which use the fam service.



Authors:
--------
    Bruce Karsh
    Bob Miller
    SGI corp.

%package server
Group:          System/Daemons
License:        GPL v2 or later
Provides:       fam:/etc/fam.conf
Provides:       file_alteration
Requires:       fam portmap
PreReq:         %fillup_prereq %insserv_prereq
Summary:        File Alternation Monitoring Daemon

%description server
fam is a file alternation monitoring service. It provides signals when
files are created or changed.

This package provides the fam daemon and runlevel scripts.



Authors:
--------
    Bruce Karsh
    Bob Miller
    SGI corp.

%prep
%setup -q -n fam-%{version} -b 3
%patch1
%patch2 -p1
%patch3 -p1
%patch8 -p1
%patch9 -p1
%patch10
%patch11
cd ../fileschanged-%fc_version
%patch5

%build
%{?suse_update_config:%{suse_update_config -f . }}
rm -f configure
autoreconf -i -f
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
export CXXFLAGS="$RPM_OPT_FLAGS $CXXFLAGS -fno-strict-aliasing"
%ifnarch hppa
export CFLAGS="$CFLAGS -fstack-protector" 
export CXXFLAGS="$CXXFLAGS -fstack-protector" 
%endif
./configure \
  --prefix=/usr \
  --libdir=%{_libdir} \
  --mandir=/usr/share/man \
  --sysconfdir=/etc
make %{?jobs:-j %jobs}
cd ../fileschanged-%fc_version/
autoreconf -i -f
export LD_LIBRARY_PATH=../../fam-%version/lib/.libs:${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
export CFLAGS="-I../../fam-%version/include/ -L../../fam-%version/lib/.libs/ $CFLAGS"
./configure \
  --prefix=/usr \
  --libdir=%{_libdir} \
  --mandir=/usr/share/man \
  --infodir=/usr/share/info 
make %{?jobs:-j %jobs}

%install
make DESTDIR="$RPM_BUILD_ROOT" install
#
# Install fam init script
mkdir -p $RPM_BUILD_ROOT/etc/init.d
install -m 0744 %SOURCE2 $RPM_BUILD_ROOT/etc/init.d/fam
ln -sf ../../etc/init.d/fam $RPM_BUILD_ROOT/usr/sbin/rcfam
FILLUP_DIR=$RPM_BUILD_ROOT/var/adm/fillup-templates
mkdir -p $FILLUP_DIR
install -m 644 %SOURCE1 $FILLUP_DIR/sysconfig.fam
install -d -m 755 $RPM_BUILD_ROOT/etc/xinetd.d
install -m 644 %SOURCE4 $RPM_BUILD_ROOT/etc/xinetd.d/fam
cd ../fileschanged-%fc_version/
make DESTDIR="$RPM_BUILD_ROOT" install
cd -
rm -rf $RPM_BUILD_ROOT/usr/share/fileschanged
mkdir -p $RPM_BUILD_ROOT/var/run
%find_lang fileschanged

%clean
rm -rf ${RPM_BUILD_ROOT}

%post server
%{fillup_and_insserv -n fam fam}

%postun server
%restart_on_update fam
%insserv_cleanup

%preun server
%stop_on_removal fam

%post
/sbin/ldconfig
%install_info --info-dir=%{_infodir} %{_infodir}/fileschanged.info.gz

%postun
/sbin/ldconfig
%install_info_delete --info-dir=%{_infodir} %{_infodir}/fileschanged.info.gz

%files -f fileschanged.lang
%defattr(-,root,root)
%doc COPYING AUTHORS ChangeLog TODO README NEWS
/%{_libdir}/libfam.so.0
/%{_libdir}/libfam.so.0.0.0
%{_bindir}/fileschanged
/%{_mandir}/man1/fileschanged.1.gz
/%{_infodir}/fileschanged.info.gz

%files devel
%defattr(-,root,root)
/usr/include/fam.h
/%{_libdir}/libfam.a
/%{_libdir}/libfam.la
/%{_libdir}/libfam.so
/%{_mandir}/man8/famd.8.gz

%files server
%defattr(-,root,root)
%{_sbindir}/rcfam
%{_sbindir}/famd
%config(noreplace) /etc/fam.conf
/etc/init.d/fam
/%{_mandir}/man3/fam.3.gz
/%{_mandir}/man5/famd.conf.5.gz
/var/adm/fillup-templates/sysconfig.fam
%config(noreplace) /etc/xinetd.d/fam

%changelog
* Thu Oct 30 2008 olh@suse.de
- obsolete old -XXbit packages (bnc#437293)
* Fri Aug 22 2008 aj@suse.de
- Fix init script.
* Mon Jun 23 2008 coolo@suse.de
- fix last fix and quite some rpmlint warnings
* Mon Jun 09 2008 bg@suse.de
- do not use -fstack-protector for hppa
* Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages
  for multilib support
* Wed Jan 30 2008 ro@suse.de
- fix build with latest gcc (fileschanged/wl.h)
* Tue Jan 22 2008 adrian@suse.de
- fix build with latest gcc-4.3
- avoid failures when calling autoreconf on not writable configure
* Mon Dec 03 2007 ro@suse.de
- fix build with gcc-4.3
* Tue Nov 14 2006 adrian@suse.de
- fam-server requires portmap (#211035)
* Fri Sep 01 2006 adrian@suse.de
- update fileschanged to 0.6.5
  * minor bug fixes
- fix fileschanged info file syntax (#203178)
* Mon Mar 27 2006 adrian@suse.de
- require portmap start before fam (#119187)
- add user line to xinetd conf (#119187)
* Fri Mar 24 2006 dmueller@suse.de
- implement rcfam try-restart
* Tue Mar 21 2006 dmueller@suse.de
- update fam to 2.7.0  (#158217)
- update fileschanged to 2.6.4
* Fri Feb 17 2006 danw@suse.de
- Remove the /var/run/fam hack for gnome-vfs and gda, which no
  longer need it.
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Jan 13 2006 schwab@suse.de
- Don't strip binaries.
* Thu Jan 12 2006 adrian@suse.de
- avoid fam hangup in DNotify code
* Fri Dec 09 2005 meissner@suse.de
- use no-strict-aliasing.
* Tue Oct 18 2005 meissner@suse.de
- fixed build.
* Wed Oct 05 2005 sbrabec@suse.cz
- Require fam by fam-server to fix fam/gamin wrapper (#120314).
* Wed Aug 17 2005 sbrabec@suse.cz
- Provide file_alteration virtual.
- Provide /var/run/fam for gnome-vfs2 dloader.
* Thu Jul 28 2005 coolo@suse.de
- Require main package in devel package
* Wed Jun 29 2005 sbrabec@suse.cz
- Fixed devel subpackage requirements.
* Tue Jun 28 2005 adrian@suse.de
- add support for large files (#91535, by frederico)
* Tue Apr 19 2005 sbrabec@suse.cz
- Fixed paths in fam(1) man page (#75417).
* Thu Apr 14 2005 kukuk@suse.de
- Fix fam.h so that other applications using it continue to compile
* Fri Oct 01 2004 adrian@suse.de
- famd does only allow local connections by default due to securiy
  concerns (#45789)
* Sat Jan 17 2004 meissner@suse.de
- Fixed label at end of compound statement.
* Thu Jan 15 2004 meissner@suse.de
- Fixed gcc3.4 C++ problems.
* Sun Nov 09 2003 adrian@suse.de
- add default stop run levels to init script
* Wed Oct 22 2003 adrian@suse.de
- apply dnotify patch correct
- fix possible sig11 on signal storm
* Tue Sep 02 2003 mmj@suse.de
- reload) and force-reload) are only the same in the case where
  the daemon can be signalled. In this case reload should do nothing
  so make it so.
* Thu Aug 14 2003 adrian@suse.de
- add ServiceRestart: line to sysconfig
* Tue Aug 05 2003 adrian@suse.de
- update dnotify patch to new version from Alex.
  * should reduce needed CPU load when using with large directories
* Tue Jul 29 2003 adrian@suse.de
- add %%restart_on_update and %%stop_on_removal
* Mon Jul 28 2003 adrian@suse.de
- update fam to version 2.6.10
- update fileschanged to version 0.5.3
* Mon May 26 2003 adrian@suse.de
- fix build also for lib64
* Mon May 26 2003 adrian@suse.de
- build fix
* Thu Apr 24 2003 ro@suse.de
- fix install_info --delete call and move from preun to postun
* Mon Mar 03 2003 ro@suse.de
- add info dir entry for fileschanged
* Wed Feb 26 2003 adrian@suse.de
- fix PreReqs for -server package
* Fri Feb 07 2003 ro@suse.de
- added install_info macros
* Fri Jan 24 2003 adrian@suse.de
- add optional xinetd.config template
* Wed Jan 22 2003 meissner@suse.de
- recreate config* scripts so it detects ppc64 correctly.
* Tue Jan 14 2003 adrian@suse.de
- add meta data to sysconfig file
* Wed Jan 08 2003 adrian@suse.de
- update fileschanged to version 0.5.1
- create -devel and -server subpackages
* Tue Oct 01 2002 adrian@suse.de
- add the fileschanged command line utility for famd
* Tue Sep 03 2002 adrian@suse.de
- add fix for dnotify from Lubos
  (Gnome is happy now :)
* Wed Aug 21 2002 adrian@suse.de
- fix PreRequires finaly
* Mon Aug 12 2002 kukuk@suse.de
- fam.init: Replace xntpd with $time in Required-Start
* Tue Aug 06 2002 adrian@suse.de
- fix PreRequires
* Sat Jul 27 2002 adrian@suse.de
- add force-reload option to init script
* Mon Jul 22 2002 adrian@suse.de
- update to 2.6.9
  * extend fam.conf with time_out values
- drop client.dif (not anymore needed)
* Tue Jul 16 2002 adrian@suse.de
- add force-reload to init script, needed by LSB.
* Mon Jun 24 2002 adrian@suse.de
- add /etc/sysconfig/fam file to modify fam settings
- change -t 5 default to -t 4 to workaround problems with Nautilus
* Mon Jun 03 2002 adrian@suse.de
- update to version 2.6.8 (maintainance release)
* Thu May 23 2002 adrian@suse.de
- fix build for gcc 3.1
* Mon Feb 18 2002 adrian@suse.de
- fix fam start call in init script (-T 0)
* Wed Feb 06 2002 coolo@suse.de
- use %%_libdir
* Sun Jan 27 2002 schwab@suse.de
- Use daemon(3).
* Tue Jan 22 2002 adrian@suse.de
- remove rc.config start variable
- apply patches from Alex Larsson to use the kernel dnotify support
- do not start fam by default
* Mon Jan 07 2002 adrian@suse.de
- update to version 0.6.7
- install %%{_libdir}
* Fri Nov 30 2001 adrian@suse.de
- update to version 2.6.6
- use macros to generate runlevel links
- fam daemon is not started by default
- still not using the linux kernel directory notification support,
  until all known issues are fixed in the kernel code.
* Tue Aug 07 2001 adrian@suse.de
- fix start script to be LSB conform
* Tue Jun 12 2001 schwab@suse.de
- Fix missing declarations.
- Fix type of main.
* Mon Apr 09 2001 adrian@suse.de
- disable imon support. (we need more testing for this kernel patch)
* Sat Mar 17 2001 adrian@suse.de
- drop binarys in /usr/share/doc/packages/fam
* Thu Feb 08 2001 ro@suse.de
- fixed to compile
* Thu Feb 08 2001 adrian@suse.de
- add #include <string.h> for compile with gcc 2.96
* Wed Jan 31 2001 adrian@suse.de
- added start script
  added rc.config start setting (default no)
  use patch from Waldo to fix symbol clash with kwin
  enable imon support (fam fallback to polling, if the kernel do
  not support imon)
* Mon Aug 28 2000 adrian@suse.de
- inital package for the fam daemon
  *** since there is no imon support inside our kernel, it does not
  reduce any load on a single machine !
openSUSE Build Service is sponsored by