diff --git a/.gamin.metadata b/.gamin.metadata new file mode 100644 index 0000000..184e9b0 --- /dev/null +++ b/.gamin.metadata @@ -0,0 +1 @@ +c4d5462d8cef5e412f55861bd317dcce5cac3318 SOURCES/gamin-0.1.10.tar.bz2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9458092 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/gamin-0.1.10.tar.bz2 diff --git a/SOURCES/0001-Poll-files-on-nfs4.patch b/SOURCES/0001-Poll-files-on-nfs4.patch new file mode 100644 index 0000000..f776732 --- /dev/null +++ b/SOURCES/0001-Poll-files-on-nfs4.patch @@ -0,0 +1,27 @@ +From b92b17ecced6df463da73d6de566740cf5cd00d4 Mon Sep 17 00:00:00 2001 +From: Marek Kasik +Date: Fri, 1 Feb 2013 15:19:58 +0100 +Subject: [PATCH 1/2] Poll files on nfs4 + +Add nfs4 among polled filesystems. + +https://bugzilla.gnome.org/show_bug.cgi?id=693006 +--- + server/gam_fs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/server/gam_fs.c b/server/gam_fs.c +index c8ca704..143a603 100644 +--- a/server/gam_fs.c ++++ b/server/gam_fs.c +@@ -178,6 +178,7 @@ gam_fs_init (void) + gam_fs_set ("reiserfs", GFS_MT_DEFAULT, 0); + gam_fs_set ("novfs", GFS_MT_POLL, 30); + gam_fs_set ("nfs", GFS_MT_POLL, 5); ++ gam_fs_set ("nfs4", GFS_MT_POLL, 5); + if (stat("/etc/mtab", &mtab_sbuf) != 0) + { + GAM_DEBUG(DEBUG_INFO, "Could not stat /etc/mtab\n"); +-- +1.8.1.2 + diff --git a/SOURCES/0002-Fix-compilation-of-recent-glib-removing-G_CONST_RETU.patch b/SOURCES/0002-Fix-compilation-of-recent-glib-removing-G_CONST_RETU.patch new file mode 100644 index 0000000..543fff1 --- /dev/null +++ b/SOURCES/0002-Fix-compilation-of-recent-glib-removing-G_CONST_RETU.patch @@ -0,0 +1,68 @@ +From 77fe68f43ce75e920b0a94b0bc572cf3a21714f2 Mon Sep 17 00:00:00 2001 +From: Maciej Piechotka +Date: Tue, 13 Sep 2011 09:47:05 +0200 +Subject: [PATCH 2/2] Fix compilation of recent glib removing G_CONST_RETURN + +https://bugzilla.gnome.org/show_bug.cgi?id=658884 +--- + server/gam_node.c | 2 +- + server/gam_node.h | 2 +- + server/gam_subscription.c | 2 +- + server/gam_subscription.h | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/server/gam_node.c b/server/gam_node.c +index 02358ba..d0302d2 100644 +--- a/server/gam_node.c ++++ b/server/gam_node.c +@@ -122,7 +122,7 @@ gam_node_set_is_dir(GamNode * node, gboolean is_dir) + * it has finished with the string. If it must keep it longer, it + * should makes its own copy. The returned string must not be freed. + */ +-G_CONST_RETURN char * ++const char * + gam_node_get_path(GamNode * node) + { + g_assert(node); +diff --git a/server/gam_node.h b/server/gam_node.h +index 02c8692..83349a8 100644 +--- a/server/gam_node.h ++++ b/server/gam_node.h +@@ -58,7 +58,7 @@ gboolean gam_node_is_dir (GamNode *node); + void gam_node_set_is_dir (GamNode *node, + gboolean is_dir); + +-G_CONST_RETURN char *gam_node_get_path (GamNode *node); ++const char *gam_node_get_path (GamNode *node); + + GList *gam_node_get_subscriptions (GamNode *node); + +diff --git a/server/gam_subscription.c b/server/gam_subscription.c +index dfa3273..4675b34 100644 +--- a/server/gam_subscription.c ++++ b/server/gam_subscription.c +@@ -141,7 +141,7 @@ gam_subscription_pathlen(GamSubscription * sub) + * @param sub the GamSubscription + * @returns The path being monitored. It should not be freed. + */ +-G_CONST_RETURN char * ++const char * + gam_subscription_get_path(GamSubscription * sub) + { + if (sub == NULL) +diff --git a/server/gam_subscription.h b/server/gam_subscription.h +index d894fbe..e6b4e15 100644 +--- a/server/gam_subscription.h ++++ b/server/gam_subscription.h +@@ -21,7 +21,7 @@ int gam_subscription_pathlen (GamSubscription *sub); + + int gam_subscription_get_reqno (GamSubscription *sub); + +-G_CONST_RETURN char *gam_subscription_get_path (GamSubscription *sub); ++const char *gam_subscription_get_path (GamSubscription *sub); + + GamListener *gam_subscription_get_listener (GamSubscription *sub); + +-- +1.8.1.2 + diff --git a/SOURCES/0004-fix-possible-server-deadlock-in-ih_sub_cancel.patch b/SOURCES/0004-fix-possible-server-deadlock-in-ih_sub_cancel.patch new file mode 100644 index 0000000..8bc6e40 --- /dev/null +++ b/SOURCES/0004-fix-possible-server-deadlock-in-ih_sub_cancel.patch @@ -0,0 +1,65 @@ +From f9c67a13af33f389429e4e760f2023a23a9ac19f Mon Sep 17 00:00:00 2001 +From: Anssi Hannula +Date: Wed, 4 Jan 2012 00:23:55 +0200 +Subject: [PATCH 4/4] fix possible server deadlock in ih_sub_cancel + +ih_sub_foreach() calls ih_sub_cancel() while inotify_lock is locked. +However, ih_sub_cancel() locks it again, and locking GMutex recursively +causes undefined behaviour. + +Fix that by removing locking from ih_sub_cancel() as ih_sub_foreach() +is its only user. Also make the function static so that it won't +accidentally get used by other files without locking (inotify-helper.h +is an internal server header). + +This should fix the intermittent deadlocks I've been experiencing +causing KDE applications to no longer start, and probably also +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542361 +--- + server/inotify-helper.c | 7 ++----- + server/inotify-helper.h | 1 - + 2 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/server/inotify-helper.c b/server/inotify-helper.c +index d77203e..0789fa4 100644 +--- a/server/inotify-helper.c ++++ b/server/inotify-helper.c +@@ -123,13 +123,11 @@ ih_sub_add (ih_sub_t * sub) + + /** + * Cancels a subscription which was being monitored. ++ * inotify_lock must be held when calling. + */ +-gboolean ++static gboolean + ih_sub_cancel (ih_sub_t * sub) + { +- G_LOCK(inotify_lock); +- +- + if (!sub->cancelled) + { + IH_W("cancelling %s\n", sub->pathname); +@@ -140,7 +138,6 @@ ih_sub_cancel (ih_sub_t * sub) + sub_list = g_list_remove (sub_list, sub); + } + +- G_UNLOCK(inotify_lock); + return TRUE; + } + +diff --git a/server/inotify-helper.h b/server/inotify-helper.h +index 5d3b6d0..d36b5fd 100644 +--- a/server/inotify-helper.h ++++ b/server/inotify-helper.h +@@ -34,7 +34,6 @@ gboolean ih_startup (event_callback_t ecb, + found_callback_t fcb); + gboolean ih_running (void); + gboolean ih_sub_add (ih_sub_t *sub); +-gboolean ih_sub_cancel (ih_sub_t *sub); + + /* Return FALSE from 'f' if the subscription should be cancelled */ + void ih_sub_foreach (void *callerdata, gboolean (*f)(ih_sub_t *sub, void *callerdata)); +-- +2.5.0 + diff --git a/SOURCES/gamin-0.1.10-gnueabi.patch b/SOURCES/gamin-0.1.10-gnueabi.patch new file mode 100644 index 0000000..bf8e425 --- /dev/null +++ b/SOURCES/gamin-0.1.10-gnueabi.patch @@ -0,0 +1,14 @@ +diff -up gamin-0.1.10/configure.in.old gamin-0.1.10/configure.in +--- gamin-0.1.10/configure.in.old 2008-11-24 16:23:06.000000000 +0100 ++++ gamin-0.1.10/configure.in 2009-01-05 16:20:41.740669149 +0100 +@@ -158,6 +158,10 @@ AC_ARG_ENABLE(debug, + if test x$debug = xyes ; then + AC_DEFINE([GAMIN_DEBUG], [], [Enable debugging support]) + fi ++#AM_CONDITIONAL(HAVE_LINUX, test x$target_os = xlinux-gnueabi) ++if test x$target_os = xlinux-gnueabi; then ++ AC_DEFINE([HAVE_LINUX],[],[Whether we are using linux or not]) ++fi + + AM_CONDITIONAL(GAMIN_DEBUG, test x$debug = xyes) + diff --git a/SOURCES/gamin-manape.patch b/SOURCES/gamin-manape.patch new file mode 100644 index 0000000..f5fa014 --- /dev/null +++ b/SOURCES/gamin-manape.patch @@ -0,0 +1,13 @@ +diff -up gamin-0.1.10/server/Makefile.am.manape gamin-0.1.10/server/Makefile.am +--- gamin-0.1.10/server/Makefile.am.manape 2008-11-12 15:45:28.000000000 -0500 ++++ gamin-0.1.10/server/Makefile.am 2011-07-20 21:06:37.465307638 -0400 +@@ -6,8 +6,7 @@ INCLUDES = \ + -I$(top_srcdir)/lib \ + -I$(top_srcdir)/libgamin \ + $(DAEMON_CFLAGS) \ +- -DBINDIR=\""$(libexecdir)"\" \ +- -DG_DISABLE_DEPRECATED ++ -DBINDIR=\""$(libexecdir)"\" + + if GAMIN_DEBUG + INCLUDES += -DGAM_DEBUG_ENABLED diff --git a/SOURCES/gaminrc b/SOURCES/gaminrc new file mode 100644 index 0000000..c251df8 --- /dev/null +++ b/SOURCES/gaminrc @@ -0,0 +1,13 @@ +# configuration for gamin +# Can be used to override the default behaviour. +# notify filepath(s) : indicate to use kernel notification +# poll filepath(s) : indicate to use polling instead +# fsset fsname method poll_limit : indicate what method of notification for the filesystem +# kernel - use the kernel for notification +# poll - use polling for notification +# none - don't use any notification +# +# the poll_limit is the number of seconds +# that must pass before a resource is polled again. +# It is optional, and if it is not present the previous +# value will be used or the default. diff --git a/SPECS/gamin.spec b/SPECS/gamin.spec new file mode 100644 index 0000000..98b86e1 --- /dev/null +++ b/SPECS/gamin.spec @@ -0,0 +1,488 @@ + +# trim changelog included in binary rpms +%global _changelog_trimtime %(date +%s -d "1 year ago") + +%if 0%{?rhel} > 7 +# Disable python2 build by default +%bcond_with python2 +%else +%bcond_without python2 +%endif + +Summary: Library providing the FAM File Alteration Monitor API +Name: gamin +Version: 0.1.10 +Release: 32%{?dist} + +# The COPYING file contains the LGPLv2 license. However, some of the included +# files (i.e. server/inotify-path.h, server/inotify-kernel.c, +# server/inotify-kernel.h) contains the GPLv2 license header by mistake. Those +# codes were imported from GnomeVFS, where the license was changed to the +# LGPLv2 soon after this import, but this change was not reflected in the Gamin +# codes. The mentioned codes can't be fixed upstream given the fact those +# projects are already dead. I don't want to make that change downstream, thus +# adding this comment. See https://bugzilla.redhat.com/show_bug.cgi?id=1096200. +License: LGPLv2 + +Group: Development/Libraries +Source0: http://ftp.gnome.org/pub/GNOME/sources/gamin/0.1/gamin-%{version}.tar.bz2 +# sample config file +Source1: gaminrc +URL: http://www.gnome.org/~veillard/gamin/ +BuildRequires: glib2-devel +%if %{with python2} +BuildRequires: python2-devel python2 +%endif # with python2 +BuildRequires: automake autoconf libtool + +# This fix addresses an issue with ARM, where the configuration triplet +# happens to be armv5tel-redhat-linux-gnueabi instead of armv5tel-redhat-linux-gnu. +# 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 + +%description +This C library provides an API and ABI compatible file alteration +monitor mechanism compatible with FAM but not dependent on a system wide +daemon. + +%package devel +Summary: Libraries, includes, etc. to embed the Gamin library +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This C library provides an API and ABI compatible file alteration +monitor mechanism compatible with FAM but not dependent on a system wide +daemon. + +%if %{with python2} +%package -n python2-gamin +Summary: Python bindings for the gamin library +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python2-gamin} +# Remove before F30 +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python < %{version}-%{release} + +%description -n python2-gamin +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. +%endif # with python2 + +%prep +%setup -q +%patch1 -p1 -b .gnueabi +%patch2 -p1 -b .manape +%patch4 -p1 -b .nfs4 +%patch5 -p1 -b .const +%patch7 -p1 -b .double-lock + +# 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 + +%if %{with python2} +# https://fedoraproject.org/wiki/Features/SystemPythonExecutablesUseSystemPython +# replace "/usr/bin/env python" with "%%{__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 +%endif # with python2 + +%build +autoreconf -vif +%configure \ + --disable-static + +make %{?_smp_mflags} + +%install +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 + +%check +## 'make check' isn't working well at all in mock yet, needs work. +#make check ||: + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%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 +%{_libdir}/libfam.so +%{_libdir}/libgamin-1.so +%{_includedir}/fam.h +%{_libdir}/pkgconfig/gamin.pc + +%if %{with python2} +%files -n python2-gamin +%{python2_sitearch}/gamin.py* +%{python2_sitearch}/_gamin* +%doc python/tests/*.py +%doc doc/python.html +%endif # with python2 + +%changelog +* Wed Nov 11 2020 Ondrej Holy - 0.1.10-32 +- Add a comment clarifying the license (rhbz#1096200) + +* Sun Jun 10 2018 Charalampos Stratakis - 0.1.10-31 +- Conditionalize the python2 subpackage + +* Wed Feb 07 2018 Fedora Release Engineering - 0.1.10-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 0.1.10-29 +- Add Provides for the old name without %%_isa + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 0.1.10-28 +- Python 2 binary package renamed to python2-gamin + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Wed Aug 02 2017 Fedora Release Engineering - 0.1.10-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.1.10-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.1.10-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Sep 23 2016 Rex Dieter - 0.1.10-24 +- ship sample /etc/gamin/gaminrc, /etc/gamin/mandatory_gaminrc +- s|/usr/bin/python|/usr/bin/python2| + +* Tue Jul 19 2016 Fedora Release Engineering - 0.1.10-23 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Mon Feb 22 2016 Rex Dieter - 0.1.10-22 +- %%check: disable 'make check', needs work +- %%build: --disable-static, drop rpath hacks +- %%install: cleaner .la/.a omission + +* Mon Feb 22 2016 Rex Dieter - 0.1.10-21 +- pull in slightly different upstream fix for deadlocks (gnome#667230) +- cosmetics: use %%license, tighten subpkg deps +- -python: cleanup, Provides: python(2)-gamin +- %%check: make check (non-fatal for now) +- %%files: track sonames explicitly + +* Wed Feb 03 2016 Fedora Release Engineering - 0.1.10-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Nov 4 2015 Peter Robinson 0.1.10-19 +- Minor cleanups + +* Wed Jun 17 2015 Fedora Release Engineering - 0.1.10-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Aug 16 2014 Fedora Release Engineering - 0.1.10-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.1.10-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 0.1.10-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 1 2013 Matthias Clasen - 0.1.10-14 +- Make it work on nfs4 +- Fix the build +- Minor spec file cleanups + +* Thu Jul 19 2012 Fedora Release Engineering - 0.1.10-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Feb 8 2012 Tomas Bzatek - 0.1.10-12 +- Prevent deadlock when cancelling a watch (#786170) + +* Fri Jan 13 2012 Fedora Release Engineering - 0.1.10-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Jul 20 2011 Matthias Clasen - 0.1.10-10 +- Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 0.1.10-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jul 21 2010 David Malcolm - 0.1.10-8 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Wed Mar 3 2010 Tomas Bzatek - 0.1.10-7 +- Further cleanup for package review (#225776) +- Fix source URL + +* Mon Dec 21 2009 Tomas Bzatek - 0.1.10-6 +- Cleanup for package review (#225776) + +* Fri Jul 24 2009 Fedora Release Engineering - 0.1.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Feb 24 2009 Fedora Release Engineering - 0.1.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Jan 5 2009 Tomas Bzatek - 0.1.10-3 +- Fix build on gnueabi (patch by Kedar Sovani) + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.10-2 +- Rebuild for Python 2.6 + +* Mon Nov 24 2008 Tomas Bzatek - 0.1.10-1 +- Update to 0.1.10 +- Drop upstreamed patches + +* Mon Jul 21 2008 Tom "spot" Callaway - 0.1.9-6 +- fix license tag + +* Wed Feb 14 2008 Tomas Bzatek - 0.1.9-5 +- workaround for missing struct ucred in glibc headers (fixed x86_64 compilation) + +* Fri Sep 14 2007 Matthias Clasen - 0.1.9-4 +- Fix a memory leak + +* Fri Sep 14 2007 Ray Strode - 0.1.9-3 +- don't poll for non-existant watched files (bug 240385) + +* Tue Aug 28 2007 Fedora Release Engineering - 0.1.9-2 +- Rebuild for selinux ppc32 issue. + +* Fri Jul 27 2007 Daniel Veillard - 0.1.9-1.fc8 +- made new upstream release, that includes all the existing patches + +* Sat Apr 21 2007 Matthias Clasen - 0.1.8-6 +- Don't ship static libraries + +* Wed Apr 11 2007 Alexander Larsson - 0.1.8-5 +- Add patch that handles inotify failing fallback (#233316) + +* Wed Mar 7 2007 Alexander Larsson - 0.1.8-4 +- Add patch to fix #204906 + +* Thu Dec 7 2006 Jeremy Katz - 0.1.8-3 +- rebuild for python 2.5 + +* Mon Nov 20 2006 Alexander Larsson - 0.1.8-2.fc7 +- Fix polling backend, making NFS work again +- Resolves: #212551 + +* Tue Oct 31 2006 Daniel Veillard - 0.1.8-1 +- made new upstream release, that should include all the existing patches + +* Fri Sep 8 2006 Alexander Larsson - 0.1.7-7 +- Fix problems in new inotify backend (#205731) + +* Tue Sep 5 2006 Alexander Larsson - 0.1.7-6 +- Remove last regular timers from gamin + +* Tue Sep 5 2006 Alexander Larsson - 0.1.7-5 +- Use sigaction to reset old signal handler (from cvs) +- New inotify backend from cvs (based on gnome-vfs code) +- Only create timer on demand +- This should fix #204906 + +* Mon Aug 28 2006 Alexander Larsson - 0.1.7-4 +- Flush in-buffer on connection reset (#196444) +- Patch from Ariel T. Glenn + +* Tue Aug 22 2006 Alexander Larsson - 0.1.7-3 +- Use /dev/null as stdin/out/err when spawning gam_server +- This could help if there is stdout output somewhere. + +* Wed Aug 16 2006 Alexander Larsson - 0.1.7-2 +- Add patch that avoids closing the fd after FAMOpen, fixes some 100% cpu bugs + +* Wed Jul 12 2006 Jesse Keating - 0.1.7-1.2.2 +- rebuild + +* 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