From 4a80f113fa9453a44896de657334d8cd08ece736f7aed35cbf476102e501400f Mon Sep 17 00:00:00 2001 From: Pascal Bleser Date: Sun, 13 Feb 2011 20:14:10 +0000 Subject: [PATCH] 0.1.10 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gamin?expand=0&rev=1 --- .gitattributes | 23 ++ .gitignore | 1 + baselibs.conf | 1 + gamin-0.1.10.tar.bz2 | 3 + gamin-fam_abi_compatibility_FamErrlist.patch | 40 +++ gamin-fix_python_main.patch | 14 + gamin-return.patch | 22 ++ gamin.changes | 259 +++++++++++++++++++ gamin.spec | 120 +++++++++ 9 files changed, 483 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 baselibs.conf create mode 100644 gamin-0.1.10.tar.bz2 create mode 100644 gamin-fam_abi_compatibility_FamErrlist.patch create mode 100644 gamin-fix_python_main.patch create mode 100644 gamin-return.patch create mode 100644 gamin.changes create mode 100644 gamin.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..bc66742 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +gamin diff --git a/gamin-0.1.10.tar.bz2 b/gamin-0.1.10.tar.bz2 new file mode 100644 index 0000000..8eae844 --- /dev/null +++ b/gamin-0.1.10.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:413905a110e752fcdcbf658c7cfbc8fe1ff5b9a5a552f95aa8ca2af2aa539423 +size 452195 diff --git a/gamin-fam_abi_compatibility_FamErrlist.patch b/gamin-fam_abi_compatibility_FamErrlist.patch new file mode 100644 index 0000000..c8d8973 --- /dev/null +++ b/gamin-fam_abi_compatibility_FamErrlist.patch @@ -0,0 +1,40 @@ +--- libgamin/fam.h.orig 2009-07-25 01:23:31.000000000 +0200 ++++ libgamin/fam.h 2009-07-25 01:25:27.000000000 +0200 +@@ -214,14 +214,19 @@ + #define FAM_DEBUG_VERBOSE 2 + + /** +- * FamErrList: +- * +- * In case FAMErrno is set, FAMErrlist is a global string array indexed +- * by FAMErrno that describes the last error that happened. ++ * FamErrList: *unused* and empty. + * NOTE: this is not a good mechanism, it's present here only to provide + * API and ABI compatibility with FAM. + */ +-extern const char *FamErrlist[]; ++extern char *FamErrlist[]; ++ ++/** ++ * FamGaminErrList: ++ * ++ * In case FAMErrno is set, FamGaminErrlist is a global string array indexed ++ * by FAMErrno that describes the last error that happened. ++ */ ++extern const char *FamGaminErrlist[]; + + /** + * FAMNoExists: +--- libgamin/gam_api.c.orig 2009-07-25 01:25:45.000000000 +0200 ++++ libgamin/gam_api.c 2009-07-25 01:26:17.000000000 +0200 +@@ -40,7 +40,9 @@ + FAM_UNIMPLEM/* Unimplemented */ + } FAMError; + +-const char *FamErrlist[] = { ++char* FamErrlist[1]; /* 1 = same size as FAM, for ABI compatibility */ ++ ++const char *FamGaminErrlist[] = { + "Okay", + "Bad arguments", + "Bad filename", diff --git a/gamin-fix_python_main.patch b/gamin-fix_python_main.patch new file mode 100644 index 0000000..e782eda --- /dev/null +++ b/gamin-fix_python_main.patch @@ -0,0 +1,14 @@ +--- python/gamin.py.orig 2011-02-13 21:06:20.000000000 +0100 ++++ python/gamin.py 2011-02-13 21:06:27.000000000 +0100 +@@ -1,5 +1,3 @@ +-#!/usr/bin/env python +- + import _gamin + import os.path + +@@ -253,5 +251,3 @@ + print "disconnecting" + del mon + +-if __name__ == '__main__': +- run_unit_tests() diff --git a/gamin-return.patch b/gamin-return.patch new file mode 100644 index 0000000..e22feb4 --- /dev/null +++ b/gamin-return.patch @@ -0,0 +1,22 @@ +--- server/gam_eq.c.orig 2008-12-22 21:58:44.000000000 +0100 ++++ server/gam_eq.c 2008-12-22 21:56:46.000000000 +0100 +@@ -124,7 +124,7 @@ gam_eq_flush (gam_eq_t *eq, GamConnDataP + { + gboolean done_work = FALSE; + if (!eq) +- return; ++ return TRUE; + + #ifdef GAM_EQ_VERBOSE + GAM_DEBUG(DEBUG_INFO, "gam_eq: Flushing event queue for %s\n", gam_connection_get_pidname (conn)); +--- server/gam_server.c.orig 2008-12-22 21:58:21.000000000 +0100 ++++ server/gam_server.c 2008-12-22 21:57:49.000000000 +0100 +@@ -532,6 +532,7 @@ gam_error_signal_pipe_handler(gpointer u + g_io_channel_read_chars(pipe_read_ioc, buf, sizeof(buf), NULL, NULL); + + gam_error_check(); ++ return TRUE; + } + + static void + diff --git a/gamin.changes b/gamin.changes new file mode 100644 index 0000000..43d68f1 --- /dev/null +++ b/gamin.changes @@ -0,0 +1,259 @@ +------------------------------------------------------------------- +Tue Sep 1 00:00:00 UTC 2009 - pascal.bleser@opensuse.org + +- add gamin-32bit package through baselibs.conf to fix KDE 32bit compatibility libs (thanks to Martin Vogt for reporting), which requires splitting %{_libexecdir}/gam_server into its own subpackage (gamin-server) to avoid file conflicts when both gamin and gamin-32bit are installed -- note that gamin and gamin-32bit both require the package gamin-server, so nothing needs to be done on the user end + + +------------------------------------------------------------------- +Sat Jul 25 00:00:00 UTC 2009 - pascal.bleser@opensuse.org + +- add patch to be completely ABI compatible with fam, in order to avoid warnings and crashes caused by "Symbol `FamErrlist' has different size in shared object, consider re-linking"; references: + * http://lists.opensuse.org/yast-devel/2009-02/msg00000.html + * http://www.nabble.com/Bug-437307:-lighttpd-fails-to-restart-after-update-td12107383.html + + +------------------------------------------------------------------- +Thu Mar 12 00:00:00 UTC 2009 - detlef@links2linux.de + +- add return.patch + +------------------------------------------------------------------- +Sat Jan 3 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.1.10> + +------------------------------------------------------------------- +Wed Jul 16 00:00:00 UTC 2008 - detlef@links2linux.de + +- initial build for PackMan + +------------------------------------------------------------------- +Thu Oct 27 00:00:00 UTC 2005 - veillard@redhat.com + +- hopefully fixes gam_server crashes +- some portability fixes +- removed a minor leak + +------------------------------------------------------------------- +Thu Sep 8 00:00:00 UTC 2005 - veillard@redhat.com + +- revamp of the inotify back-end +- memory leak fix +- various fixes and cleanups + +------------------------------------------------------------------- +Tue Aug 9 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- 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 00:00:00 UTC 2005 - veillard@redhat.com + +- bit of python bindings improvements, added test +- fixed 3 bugs + + +------------------------------------------------------------------- +Wed Jan 26 00:00:00 UTC 2005 - veillard@redhat.com + +- Added Python support +- Updated for inotify-0.18 + + +------------------------------------------------------------------- +Thu Jan 6 00:00:00 UTC 2005 - veillard@redhat.com + +- Frederic Crozat seems to have found the GList corruption which may fix +- Frederic Crozat also fixed poll only mode + + +------------------------------------------------------------------- +Fri Dec 3 00:00:00 UTC 2004 - veillard@redhat.com + +- 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 00:00:00 UTC 2004 - veillard@redhat.com + +- still chasing the loop bug, checked and cleaned up all GList use +- patch from markmc to minimize load on busy apps + + +------------------------------------------------------------------- +Wed Oct 20 00:00:00 UTC 2004 - veillard@redhat.com + +- chasing #132354, lot of debugging, checking and testing and a bit + of refactoring + + +------------------------------------------------------------------- +Sat Oct 16 00:00:00 UTC 2004 - veillard@redhat.com + +- workaround to detect loops and avoid the nasty effects, see RedHat bug #132354 + + +------------------------------------------------------------------- +Sun Oct 3 00:00:00 UTC 2004 - veillard@redhat.com + +- 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 00:00:00 UTC 2004 - veillard@redhat.com + +- applied portability fixes +- hardened the code while chasing a segfault + + +------------------------------------------------------------------- +Thu Sep 30 00:00:00 UTC 2004 - veillard@redhat.com + +- potential fix for a hard to reproduce looping problem. + + +------------------------------------------------------------------- +Mon Sep 27 00:00:00 UTC 2004 - veillard@redhat.com + +- update to the latest version of inotify +- inotify support compiled in by default +- fix ABI FAM compatibility problems #133162 + + +------------------------------------------------------------------- +Tue Sep 21 00:00:00 UTC 2004 - veillard@redhat.com + +- more documentation +- Added support for a configuration file $HOME/.gaminrc +- fixes FAM compatibility issues with FAMErrno and FamErrlist #132944 + + +------------------------------------------------------------------- +Wed Sep 1 00:00:00 UTC 2004 - veillard@redhat.com + +- fix crash with konqueror #130967 +- exclude kernel (dnotify) monitoring for /mnt//* /media//* + + +------------------------------------------------------------------- +Thu Aug 26 00:00:00 UTC 2004 - veillard@redhat.com + +- Fixes crashes of the gam_server +- try to correct the kernel/poll switching mode + + +------------------------------------------------------------------- +Tue Aug 24 00:00:00 UTC 2004 - veillard@redhat.com + +- 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 00:00:00 UTC 2004 - veillard@redhat.com + +- fixes simple file monitoring should close RH #129974 +- relocate gam_server in $(libexec) + + +------------------------------------------------------------------- +Thu Aug 5 00:00:00 UTC 2004 - veillard@redhat.com + +- Fix a crash when the client binary forks the gam_server and an + atexit handler is run. + + +------------------------------------------------------------------- +Wed Aug 4 00:00:00 UTC 2004 - veillard@redhat.com + +- should fix KDE build problems + diff --git a/gamin.spec b/gamin.spec new file mode 100644 index 0000000..7412a7b --- /dev/null +++ b/gamin.spec @@ -0,0 +1,120 @@ +# vim: set sw=4 ts=4 et: + +Name: gamin +Version: 0.1.10 +Release: 0 +Summary: Library providing the FAM File Alteration Monitor API +License: GNU Library General Public License version 2 (LGPL v2) +Group: System/Daemons +URL: http://www.gnome.org/~veillard/gamin/ +# http://www.gnome.org/~veillard/gamin/sources/%{name}-%{version}.tar.gz +Source: %{name}-%{version}.tar.bz2 +Patch0: gamin-return.patch +Patch1: gamin-fam_abi_compatibility_FamErrlist.patch +Patch2: gamin-fix_python_main.patch +Provides: fam +Provides: libfam0 +Provides: libgamin1_0 = %{version}-%{release} +Requires: gamin-server = %{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-root +BuildRequires: glib2-devel python-devel gcc gcc-c++ libstdc++-devel make pkgconfig + +%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. + + + + +Authors: +-------- + Daniel Veillard + +%package server +Summary: Server for the Library providing the FAM File Alteration Monitor API +Group: System/Daemons + +%description server +This package contains the daemon for %{name}. +It is split off into its own subpackage to void file conflicts when both +%{name} and %{name}-32bit are installed on a multiarch platform. + +%package devel +Summary: Libraries and includes to build against the Gamin library +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version}-%{release} +Provides: fam-devel + +%description devel +Libraries, includes, etc. to use and build against the Gamin library. + +%package -n python-gamin +Summary: Python bindings for the gamin library +Group: Development/Libraries/Python +Requires: %{name} = %{version}-%{release} +Requires: python +Provides: gamin-python = %{version}-%{release} +%py_requires + +%description -n python-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. + +%prep +%setup -q +%patch0 -p0 +%patch1 +%patch2 + +%build +%configure \ + --disable-static + +%__make %{?jobs:-j%{jobs}} + +%install +%makeinstall + +%__rm "%{buildroot}%{_libdir}"/*.la + +%__mkdir_p .rpmdoc/python +%__mv doc/python.html .rpmdoc/python/doc.html + +%clean +%{?buildroot:%__rm -rf "%{buildroot}"} + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-, root, root) +%doc AUTHORS ChangeLog NEWS README Copyright TODO +%doc doc/*.html +%doc doc/*.gif +%doc doc/*.txt +%{_libdir}/libfam.so.0.*.* +%{_libdir}/libfam.so.0 +%{_libdir}/libgamin-1.so.0 +%{_libdir}/libgamin-1.so.0.*.* + +%files server +%defattr(-, root, root) +%{_libexecdir}/gam_server + +%files devel +%defattr(-, root, root) +%{_libdir}/libfam.so +%{_libdir}/libgamin-1.so +%{_libdir}/libgamin_shared.a +%{_includedir}/fam.h +%{_libdir}/pkgconfig/gamin.pc + +%files -n python-gamin +%defattr(-, root, root) +%doc .rpmdoc/python/* +%{py_sitedir}/gamin.py* +%{py_sitedir}/_gamin* + +%changelog