%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0} Summary: Library providing the FAM File Alteration Monitor API Summary(ja): FAM (File Alteration Monitor) API を提供するライブラリ Name: gamin Version: 0.1.10 Release: 7%{?_dist_release} License: LGPLv2 Group: System Environment/Daemons Source: gamin-%{version}.tar.bz2 # sample config file Source1: gaminrc # The patch declares HAVE_LINUX in case of linux-gnueabi as well. # Patch by Kedar Sovani Patch1: gamin-0.1.10-gnueabi.patch # Don't try to build with -DG_DISABLE_DEPRECATED - glib has moved on Patch2: gamin-manape.patch # upstream fixes Patch4: 0001-Poll-files-on-nfs4.patch Patch5: 0002-Fix-compilation-of-recent-glib-removing-G_CONST_RETU.patch # gam_server deadlocks, leading to all KDE applications hanging at start # https://bugzilla.redhat.com/show_bug.cgi?id=786170 # https://bugzilla.gnome.org/show_bug.cgi?id=667120 Patch7: 0004-fix-possible-server-deadlock-in-ih_sub_cancel.patch # patch from ubuntu # https://bugs.launchpad.net/ubuntu/+source/gamin/+bug/829504 Patch10: 21_no_g_const_return.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root URL: http://www.gnome.org/~veillard/gamin/ Obsoletes: fam Provides: fam BuildRequires: glib2-devel, python, python-devel, python-rpm-macros BuildRequires: libxcrypt-devel Vendor: Project Vine Distribution: Vine Linux %description The Gamin library provides an API and ABI compatible file alteration monitor mechanism compatible with FAM but not dependent on a system wide daemon. %description -l ja Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供 します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル パープログラムをオンデマンドに起動します。 %package devel Summary: Development files for the Gamin library Summary(ja): Gamin ライブラリの開発用ファイル Group: Development/Libraries Requires: gamin = %{version}-%{release} Obsoletes: fam-devel Provides: fam-devel %description devel The Gamin library provides an API and ABI compatible file alteration monitor mechanism compatible with FAM but not dependent on a system wide daemon. %description devel -l ja Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供 します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル パープログラムをオンデマンドに起動します。 %package python Summary: Python bindings for the Gamin library Summary(ja): Gamin ライブラリ用の Python バインディング Group: Development/Libraries Requires: gamin = %{version}-%{release} Requires: python %description python The gamin-python package contains a module that allow monitoring of files and directories from the Python language based on the support of the gamin package. %description python -l ja gamin-python は gamin ライブラリを利用して Python 言語からファイルや ディレクトリのモニタリングを行うためのモジュールです。 ## to build compat32 for x86_64 architecture support %package -n compat32-%{name} Summary: Library providing the FAM File Alteration Monitor API Summary(ja): FAM (File Alteration Monitor) API を提供するライブラリ Group: System Environment/Daemons Requires: gamin = %{version}-%{release} %description -n compat32-%{name} The Gamin library provides an API and ABI compatible file alteration monitor mechanism compatible with FAM but not dependent on a system wide daemon. %description -n compat32-%{name} -l ja Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供 します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル パープログラムをオンデマンドに起動します。 %package -n compat32-%{name}-devel Summary: Development files for the Gamin library Summary(ja): Gamin ライブラリの開発用ファイル Group: Development/Libraries Requires: compat32-gamin = %{version}-%{release} %description -n compat32-%{name}-devel The Gamin library provides an API and ABI compatible file alteration monitor mechanism compatible with FAM but not dependent on a system wide daemon. %description -n compat32-%{name}-devel -l ja Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供 します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル %prep %setup -q %patch1 -p1 -b .gnueabi %patch2 -p1 -b .manape %patch4 -p1 -b .nfs4 %patch5 -p1 -b .const %patch7 -p1 -b .double-lock %patch10 -p1 # recode docs into UTF-8 for i in ChangeLog NEWS ; do iconv -f iso-8859-1 -t utf-8 < $i > XXX touch -r $i XXX mv XXX $i done # https://fedoraproject.org/wiki/Features/SystemPythonExecutablesUseSystemPython # replace "/usr/bin/env python" with "/usr/bin/python2" for i in `find -name '*.py'`; do sed -i.bak "s|^#!/usr/bin/env python|#!%{__python2}|g" $i touch -r ${i}.bak $i rm ${i}.bak done find server/ -type f -exec sed -i 's/G_CONST_RETURN/const/' {} ';' %build autoreconf -vif %configure \ --disable-static %__make %{?_smp_mflags} %install rm -fr %{buildroot} make install DESTDIR=%{buildroot} INSTALL="install -p" install -D -p -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/gamin/gaminrc touch %{buildroot}%{_sysconfdir}/gamin/mandatory_gaminrc rm -fv %{buildroot}%{_libdir}/lib*.la # gamin server links this, it gets installed even in --disable-static mode, # but continue to omit from packaging as has been done for a long time -- rex rm -fv %{buildroot}%{_libdir}/libgamin_shared.a %clean rm -fr %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post -n compat32-%{name} -p /sbin/ldconfig %postun -n compat32-%{name} -p /sbin/ldconfig %files %defattr(-, root, root) %license COPYING %doc AUTHORS ChangeLog NEWS README TODO %doc doc/*.html %doc doc/*.gif %doc doc/*.txt %dir %{_sysconfdir}/gamin/ %config(noreplace) %{_sysconfdir}/gamin/gaminrc %config(noreplace) %{_sysconfdir}/gamin/mandatory_gaminrc %{_libdir}/libfam.so.0* %{_libdir}/libgamin-1.so.0* %{_libexecdir}/gam_server %files devel %defattr(-, root, root) %{_libdir}/libfam.so %{_libdir}/libgamin-1.so %{_includedir}/fam.h %{_libdir}/pkgconfig/gamin.pc %files python %defattr(-, root, root) %doc AUTHORS ChangeLog NEWS README Copyright TODO %{_libdir}/python*/site-packages/gamin.py* %{_libdir}/python*/site-packages/_gamin* %doc python/tests/*.py %doc doc/python.html %if %{build_compat32} %files -n compat32-%{name} %defattr(-, root, root) %{_libdir}/libfam.so.0* %{_libdir}/libgamin-1.so.0* %files -n compat32-%{name}-devel %defattr(-, root, root) %{_libdir}/libfam.so %{_libdir}/libgamin-1.so %{_libdir}/pkgconfig/gamin.pc %endif %changelog * Mon May 13 2019 Tomohiro "Tomo-p" KATO 0.1.10-7 - rebuilt with current environment. * Mon Dec 30 2013 Yoji TOYODA 0.1.10-6 - rebuild with VineSeed environment * Wed Feb 15 2012 Yoji TOYODA 0.1.10-5 - rebuild with python-2.7.2 - add Patch10 (21_no_g_const_return.patch) * Sun Apr 17 2011 IWAI, Masaharu 0.1.10-4 - update Requires for python subpackage - drop directory dependency * Tue Sep 21 2010 IWAI, Masaharu 0.1.10-3 - build with rpm-4.8.1-1 for pkg-config file * Tue Feb 02 2010 Shu KONNO 0.1.10-2 - rebuild with python-2.6 * Wed Mar 18 2009 Daisuke SUZUKI 0.1.10-1 - new upstream release * Sun Sep 28 2008 MATSUBAYASHI Kohji - 0.1.9-3 - fix license tag to LGPLv2 - import patches from Fedora development - Patch0: don't poll for non-existant watched files - Patch1: Fix a memory leak - Patch2: workaround for missing struct ucred in glibc headers (fixed x86_64/ppc compilation) * Fri Sep 26 2008 Shu KONNO 0.1.9-2 - spec in utf-8 - removed *.la * Sat May 10 2008 NAKAMURA Kenta 0.1.9-1 - added compat32-* packages for x86_64 architecture support - applied new versioning policy * Wed Mar 05 2008 Ryoichi INAGAKI 0.1.9-0vl1 - new upstream release - Patch10 was included in upstream, dropped * Fri Apr 06 2007 MATSUBAYASHI Kohji 0.1.8-0vl2 - added Patch10 () which should be fixed in the new upstream release * Sun Nov 05 2006 Daisuke SUZUKI 0.1.8-0vl1 - new upstream release * Mon Sep 4 2006 AKIYAMA Kazuhito 0.1.7-0vl2 - stop removing *.la * Tue Jun 13 2006 Daisuke SUZUKI 0.1.7-0vl1 - initial build for Vine Linux * Fri Feb 10 2006 Jesse Keating - 0.1.7-1.2.1 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 0.1.7-1.2 - rebuilt for new gcc4.1 snapshot and glibc changes * Fri Dec 09 2005 Jesse Keating - rebuilt * Thu Oct 27 2005 Daniel Veillard 0.1.7-1 - hopefully fixes gam_server crashes - some portability fixes - removed a minor leak * Thu Sep 8 2005 Daniel Veillard 0.1.6-1 - revamp of the inotify back-end - memory leak fix - various fixes and cleanups * Tue Aug 9 2005 Daniel Veillard 0.1.5-1 - Improvement of configuration, system wide configuration files and per filesystem type default - Rewrite of the inotify back-end, reduce resources usage, tuning in case of busy resources - Documentation updates - Changes to compile inotify back-end on various architectures - Debugging output improvements * Tue Aug 2 2005 Daniel Veillard 0.1.3-1 - Fix to compile on older gcc versions - Inotify back-end changes and optimizations - Debug ouput cleanup, pid and process name reports - Dropped kernel monitor bugfix - Removed the old glist copy used for debugging - Maintain mounted filesystems knowledge, and per fstype preferences * Wed Jul 13 2005 Daniel Veillard 0.1.2-1 - inotify back end patches, ready for the new inotify support in kernel - lot of server code cleanup patches - fixed an authentication problem * Fri Jun 10 2005 Daniel Veillard 0.1.1-1 - gamin_data_conn_event fix - crash from bug gnome #303932 - Inotify and mounted media #171201 - mounted media did not show up on Desktop #159748 - write may not be atomic - Monitoring a directory when it is a file - Portability to Hurd/Mach and various code cleanups - Added support for ~ as user home alias in .gaminrc * Thu May 12 2005 Daniel Veillard 0.1.0-1 - Close inherited file descriptors on exec of gam_server - Cancelling a monitor send back a FAMAcknowledge - Fixed for big files > 2GB - Bug when monitoring a non existing directory - Make client side thread safe - Unreadable directory fixes - Better flow control handling - Updated to latest inotify version: 0.23-6 * Tue Mar 15 2005 Daniel Veillard 0.0.26-1 - Fix an include problem showing up with gcc4 - Fix the crash on failed tree assert bug #150471 based on patch from Dean Brettle - removed an incompatibility with SGI FAM #149822 * Tue Mar 1 2005 Daniel Veillard 0.0.25-1 - Fix a configure problem reported by Martin Schlemmer - Fix the /media/* and /mnt/* mount blocking problems from 0.0.24 e.g. #142637 - Fix the monitoring of directory using poll and not kernel * Fri Feb 18 2005 Daniel Veillard 0.0.24-1 - more documentation - lot of serious bug fixes including Gnome Desktop refresh bug - extending the framework for more debug (configure --enable-debug-api) - extending the python bindings for watching the same resource multiple times and adding debug framework support - growing the regression tests a lot based on python bindings - inotify-0.19 patch from John McCutchan - renamed python private module to _gamin to follow Python PEP 8 * Tue Feb 8 2005 Daniel Veillard 0.0.23-1 - memory corruption fix from Mark on the client side - extending the protocol and API to allow skipping Exists and EndExists events to avoid deadlock on reconnect or when they are not used. * Mon Jan 31 2005 Daniel Veillard 0.0.22-1 - bit of python bindings improvements, added test - fixed 3 bugs * Wed Jan 26 2005 Daniel Veillard 0.0.21-1 - Added Python support - Updated for inotify-0.18 * Thu Jan 6 2005 Daniel Veillard 0.0.20-1 - Frederic Crozat seems to have found the GList corruption which may fix #132354 and related problems - Frederic Crozat also fixed poll only mode * Fri Dec 3 2004 Daniel Veillard 0.0.19-1 - still chasing the loop bug, made another pass at checking GList, added own copy with memory poisonning of GList implementation. - fixed a compile issue when compiling without debug * Fri Nov 26 2004 Daniel Veillard 0.0.18-1 - still chasing the loop bug, checked and cleaned up all GList use - patch from markmc to minimize load on busy apps * Wed Oct 20 2004 Daniel Veillard 0.0.16-1 - chasing #132354, lot of debugging, checking and testing and a bit of refactoring * Sat Oct 16 2004 Daniel Veillard 0.0.15-1 - workaround to detect loops and avoid the nasty effects, see RedHat bug #132354 * Sun Oct 3 2004 Daniel Veillard 0.0.14-1 - Found and fixed the annoying bug where update were not received should fix bugs ##132429, #133665 and #134413 - new mechanism to debug on-the-fly by sending SIGUSR2 to client or server - Added documentation about internals * Fri Oct 1 2004 Daniel Veillard 0.0.13-1 - applied portability fixes - hardened the code while chasing a segfault * Thu Sep 30 2004 Daniel Veillard 0.0.12-1 - potential fix for a hard to reproduce looping problem. * Mon Sep 27 2004 Daniel Veillard 0.0.11-1 - update to the latest version of inotify - inotify support compiled in by default - fix ABI FAM compatibility problems #133162 * Tue Sep 21 2004 Daniel Veillard 0.0.10-1 - more documentation - Added support for a configuration file $HOME/.gaminrc - fixes FAM compatibility issues with FAMErrno and FamErrlist #132944 * Wed Sep 1 2004 Daniel Veillard 0.0.9-1 - fix crash with konqueror #130967 - exclude kernel (dnotify) monitoring for /mnt//* /media//* * Thu Aug 26 2004 Daniel Veillard 0.0.8-1 - Fixes crashes of the gam_server - try to correct the kernel/poll switching mode * Tue Aug 24 2004 Daniel Veillard 0.0.7-1 - add support for both polling and dnotify simultaneously - fixes monitoring of initially missing files - load control on very busy resources #124361, desactivating dnotify and falling back to polling for CPU drain * Thu Aug 19 2004 Daniel Veillard 0.0.6-1 - fixes simple file monitoring should close RH #129974 - relocate gam_server in $(libexec) * Thu Aug 5 2004 Daniel Veillard 0.0.5-1 - Fix a crash when the client binary forks the gam_server and an atexit handler is run. * Wed Aug 4 2004 Daniel Veillard 0.0.4-1 - should fix KDE build problems