gamin-vl.spec 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
  2. Summary: Library providing the FAM File Alteration Monitor API
  3. Summary(ja): FAM (File Alteration Monitor) API を提供するライブラリ
  4. Name: gamin
  5. Version: 0.1.10
  6. Release: 7%{?_dist_release}
  7. License: LGPLv2
  8. Group: System Environment/Daemons
  9. Source: gamin-%{version}.tar.bz2
  10. # sample config file
  11. Source1: gaminrc
  12. # The patch declares HAVE_LINUX in case of linux-gnueabi as well.
  13. # Patch by Kedar Sovani <kedars@marvell.com>
  14. Patch1: gamin-0.1.10-gnueabi.patch
  15. # Don't try to build with -DG_DISABLE_DEPRECATED - glib has moved on
  16. Patch2: gamin-manape.patch
  17. # upstream fixes
  18. Patch4: 0001-Poll-files-on-nfs4.patch
  19. Patch5: 0002-Fix-compilation-of-recent-glib-removing-G_CONST_RETU.patch
  20. # gam_server deadlocks, leading to all KDE applications hanging at start
  21. # https://bugzilla.redhat.com/show_bug.cgi?id=786170
  22. # https://bugzilla.gnome.org/show_bug.cgi?id=667120
  23. Patch7: 0004-fix-possible-server-deadlock-in-ih_sub_cancel.patch
  24. # patch from ubuntu
  25. # https://bugs.launchpad.net/ubuntu/+source/gamin/+bug/829504
  26. Patch10: 21_no_g_const_return.patch
  27. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  28. URL: http://www.gnome.org/~veillard/gamin/
  29. Obsoletes: fam
  30. Provides: fam
  31. BuildRequires: glib2-devel, python, python-devel, python-rpm-macros
  32. BuildRequires: libxcrypt-devel
  33. Vendor: Project Vine
  34. Distribution: Vine Linux
  35. %description
  36. The Gamin library provides an API and ABI compatible file alteration
  37. monitor mechanism compatible with FAM but not dependent on a system wide
  38. daemon.
  39. %description -l ja
  40. Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供
  41. します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル
  42. パープログラムをオンデマンドに起動します。
  43. %package devel
  44. Summary: Development files for the Gamin library
  45. Summary(ja): Gamin ライブラリの開発用ファイル
  46. Group: Development/Libraries
  47. Requires: gamin = %{version}-%{release}
  48. Obsoletes: fam-devel
  49. Provides: fam-devel
  50. %description devel
  51. The Gamin library provides an API and ABI compatible file alteration
  52. monitor mechanism compatible with FAM but not dependent on a system wide
  53. daemon.
  54. %description devel -l ja
  55. Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供
  56. します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル
  57. パープログラムをオンデマンドに起動します。
  58. %package python
  59. Summary: Python bindings for the Gamin library
  60. Summary(ja): Gamin ライブラリ用の Python バインディング
  61. Group: Development/Libraries
  62. Requires: gamin = %{version}-%{release}
  63. Requires: python
  64. %description python
  65. The gamin-python package contains a module that allow monitoring of
  66. files and directories from the Python language based on the support
  67. of the gamin package.
  68. %description python -l ja
  69. gamin-python は gamin ライブラリを利用して Python 言語からファイルや
  70. ディレクトリのモニタリングを行うためのモジュールです。
  71. ## to build compat32 for x86_64 architecture support
  72. %package -n compat32-%{name}
  73. Summary: Library providing the FAM File Alteration Monitor API
  74. Summary(ja): FAM (File Alteration Monitor) API を提供するライブラリ
  75. Group: System Environment/Daemons
  76. Requires: gamin = %{version}-%{release}
  77. %description -n compat32-%{name}
  78. The Gamin library provides an API and ABI compatible file alteration
  79. monitor mechanism compatible with FAM but not dependent on a system wide
  80. daemon.
  81. %description -n compat32-%{name} -l ja
  82. Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供
  83. します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル
  84. パープログラムをオンデマンドに起動します。
  85. %package -n compat32-%{name}-devel
  86. Summary: Development files for the Gamin library
  87. Summary(ja): Gamin ライブラリの開発用ファイル
  88. Group: Development/Libraries
  89. Requires: compat32-gamin = %{version}-%{release}
  90. %description -n compat32-%{name}-devel
  91. The Gamin library provides an API and ABI compatible file alteration
  92. monitor mechanism compatible with FAM but not dependent on a system wide
  93. daemon.
  94. %description -n compat32-%{name}-devel -l ja
  95. Gamin ライブラリは FAM と API/ABI 互換のファイル変更検知システムを提供
  96. します。FAM とは違いシステムワイドなデーモンを利用せず、ユーザ毎のヘル
  97. %prep
  98. %setup -q
  99. %patch1 -p1 -b .gnueabi
  100. %patch2 -p1 -b .manape
  101. %patch4 -p1 -b .nfs4
  102. %patch5 -p1 -b .const
  103. %patch7 -p1 -b .double-lock
  104. %patch10 -p1
  105. # recode docs into UTF-8
  106. for i in ChangeLog NEWS ; do
  107. iconv -f iso-8859-1 -t utf-8 < $i > XXX
  108. touch -r $i XXX
  109. mv XXX $i
  110. done
  111. # https://fedoraproject.org/wiki/Features/SystemPythonExecutablesUseSystemPython
  112. # replace "/usr/bin/env python" with "/usr/bin/python2"
  113. for i in `find -name '*.py'`; do
  114. sed -i.bak "s|^#!/usr/bin/env python|#!%{__python2}|g" $i
  115. touch -r ${i}.bak $i
  116. rm ${i}.bak
  117. done
  118. find server/ -type f -exec sed -i 's/G_CONST_RETURN/const/' {} ';'
  119. %build
  120. autoreconf -vif
  121. %configure \
  122. --disable-static
  123. %__make %{?_smp_mflags}
  124. %install
  125. rm -fr %{buildroot}
  126. make install DESTDIR=%{buildroot} INSTALL="install -p"
  127. install -D -p -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/gamin/gaminrc
  128. touch %{buildroot}%{_sysconfdir}/gamin/mandatory_gaminrc
  129. rm -fv %{buildroot}%{_libdir}/lib*.la
  130. # gamin server links this, it gets installed even in --disable-static mode,
  131. # but continue to omit from packaging as has been done for a long time -- rex
  132. rm -fv %{buildroot}%{_libdir}/libgamin_shared.a
  133. %clean
  134. rm -fr %{buildroot}
  135. %post -p /sbin/ldconfig
  136. %postun -p /sbin/ldconfig
  137. %post -n compat32-%{name} -p /sbin/ldconfig
  138. %postun -n compat32-%{name} -p /sbin/ldconfig
  139. %files
  140. %defattr(-, root, root)
  141. %license COPYING
  142. %doc AUTHORS ChangeLog NEWS README TODO
  143. %doc doc/*.html
  144. %doc doc/*.gif
  145. %doc doc/*.txt
  146. %dir %{_sysconfdir}/gamin/
  147. %config(noreplace) %{_sysconfdir}/gamin/gaminrc
  148. %config(noreplace) %{_sysconfdir}/gamin/mandatory_gaminrc
  149. %{_libdir}/libfam.so.0*
  150. %{_libdir}/libgamin-1.so.0*
  151. %{_libexecdir}/gam_server
  152. %files devel
  153. %defattr(-, root, root)
  154. %{_libdir}/libfam.so
  155. %{_libdir}/libgamin-1.so
  156. %{_includedir}/fam.h
  157. %{_libdir}/pkgconfig/gamin.pc
  158. %files python
  159. %defattr(-, root, root)
  160. %doc AUTHORS ChangeLog NEWS README Copyright TODO
  161. %{_libdir}/python*/site-packages/gamin.py*
  162. %{_libdir}/python*/site-packages/_gamin*
  163. %doc python/tests/*.py
  164. %doc doc/python.html
  165. %if %{build_compat32}
  166. %files -n compat32-%{name}
  167. %defattr(-, root, root)
  168. %{_libdir}/libfam.so.0*
  169. %{_libdir}/libgamin-1.so.0*
  170. %files -n compat32-%{name}-devel
  171. %defattr(-, root, root)
  172. %{_libdir}/libfam.so
  173. %{_libdir}/libgamin-1.so
  174. %{_libdir}/pkgconfig/gamin.pc
  175. %endif
  176. %changelog
  177. * Mon May 13 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 0.1.10-7
  178. - rebuilt with current environment.
  179. * Mon Dec 30 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.1.10-6
  180. - rebuild with VineSeed environment
  181. * Wed Feb 15 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.1.10-5
  182. - rebuild with python-2.7.2
  183. - add Patch10 (21_no_g_const_return.patch)
  184. * Sun Apr 17 2011 IWAI, Masaharu <iwai@alib.jp> 0.1.10-4
  185. - update Requires for python subpackage
  186. - drop directory dependency
  187. * Tue Sep 21 2010 IWAI, Masaharu <iwai@alib.jp> 0.1.10-3
  188. - build with rpm-4.8.1-1 for pkg-config file
  189. * Tue Feb 02 2010 Shu KONNO <owa@bg.wakwak.com> 0.1.10-2
  190. - rebuild with python-2.6
  191. * Wed Mar 18 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 0.1.10-1
  192. - new upstream release
  193. * Sun Sep 28 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 0.1.9-3
  194. - fix license tag to LGPLv2
  195. - import patches from Fedora development
  196. - Patch0: don't poll for non-existant watched files
  197. - Patch1: Fix a memory leak
  198. - Patch2: workaround for missing struct ucred in glibc headers
  199. (fixed x86_64/ppc compilation)
  200. * Fri Sep 26 2008 Shu KONNO <owa@bg.wakwak.com> 0.1.9-2
  201. - spec in utf-8
  202. - removed *.la
  203. * Sat May 10 2008 NAKAMURA Kenta <kenta@vinelinux.org> 0.1.9-1
  204. - added compat32-* packages for x86_64 architecture support
  205. - applied new versioning policy
  206. * Wed Mar 05 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 0.1.9-0vl1
  207. - new upstream release
  208. - Patch10 was included in upstream, dropped
  209. * Fri Apr 06 2007 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 0.1.8-0vl2
  210. - added Patch10 (<BTS:507>) which should be fixed in the new upstream release
  211. * Sun Nov 05 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 0.1.8-0vl1
  212. - new upstream release
  213. * Mon Sep 4 2006 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 0.1.7-0vl2
  214. - stop removing *.la
  215. * Tue Jun 13 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 0.1.7-0vl1
  216. - initial build for Vine Linux
  217. * Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.1.7-1.2.1
  218. - bump again for double-long bug on ppc(64)
  219. * Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.1.7-1.2
  220. - rebuilt for new gcc4.1 snapshot and glibc changes
  221. * Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
  222. - rebuilt
  223. * Thu Oct 27 2005 Daniel Veillard <veillard@redhat.com> 0.1.7-1
  224. - hopefully fixes gam_server crashes
  225. - some portability fixes
  226. - removed a minor leak
  227. * Thu Sep 8 2005 Daniel Veillard <veillard@redhat.com> 0.1.6-1
  228. - revamp of the inotify back-end
  229. - memory leak fix
  230. - various fixes and cleanups
  231. * Tue Aug 9 2005 Daniel Veillard <veillard@redhat.com> 0.1.5-1
  232. - Improvement of configuration, system wide configuration files and
  233. per filesystem type default
  234. - Rewrite of the inotify back-end, reduce resources usage, tuning in
  235. case of busy resources
  236. - Documentation updates
  237. - Changes to compile inotify back-end on various architectures
  238. - Debugging output improvements
  239. * Tue Aug 2 2005 Daniel Veillard <veillard@redhat.com> 0.1.3-1
  240. - Fix to compile on older gcc versions
  241. - Inotify back-end changes and optimizations
  242. - Debug ouput cleanup, pid and process name reports
  243. - Dropped kernel monitor bugfix
  244. - Removed the old glist copy used for debugging
  245. - Maintain mounted filesystems knowledge, and per fstype preferences
  246. * Wed Jul 13 2005 Daniel Veillard <veillard@redhat.com> 0.1.2-1
  247. - inotify back end patches, ready for the new inotify support in kernel
  248. - lot of server code cleanup patches
  249. - fixed an authentication problem
  250. * Fri Jun 10 2005 Daniel Veillard <veillard@redhat.com> 0.1.1-1
  251. - gamin_data_conn_event fix
  252. - crash from bug gnome #303932
  253. - Inotify and mounted media #171201
  254. - mounted media did not show up on Desktop #159748
  255. - write may not be atomic
  256. - Monitoring a directory when it is a file
  257. - Portability to Hurd/Mach and various code cleanups
  258. - Added support for ~ as user home alias in .gaminrc
  259. * Thu May 12 2005 Daniel Veillard <veillard@redhat.com> 0.1.0-1
  260. - Close inherited file descriptors on exec of gam_server
  261. - Cancelling a monitor send back a FAMAcknowledge
  262. - Fixed for big files > 2GB
  263. - Bug when monitoring a non existing directory
  264. - Make client side thread safe
  265. - Unreadable directory fixes
  266. - Better flow control handling
  267. - Updated to latest inotify version: 0.23-6
  268. * Tue Mar 15 2005 Daniel Veillard <veillard@redhat.com> 0.0.26-1
  269. - Fix an include problem showing up with gcc4</li>
  270. - Fix the crash on failed tree assert bug #150471 based on patch from Dean Brettle
  271. - removed an incompatibility with SGI FAM #149822
  272. * Tue Mar 1 2005 Daniel Veillard <veillard@redhat.com> 0.0.25-1
  273. - Fix a configure problem reported by Martin Schlemmer
  274. - Fix the /media/* and /mnt/* mount blocking problems from 0.0.24 e.g. #142637
  275. - Fix the monitoring of directory using poll and not kernel
  276. * Fri Feb 18 2005 Daniel Veillard <veillard@redhat.com> 0.0.24-1
  277. - more documentation
  278. - lot of serious bug fixes including Gnome Desktop refresh bug
  279. - extending the framework for more debug (configure --enable-debug-api)
  280. - extending the python bindings for watching the same resource multiple times
  281. and adding debug framework support
  282. - growing the regression tests a lot based on python bindings
  283. - inotify-0.19 patch from John McCutchan
  284. - renamed python private module to _gamin to follow Python PEP 8
  285. * Tue Feb 8 2005 Daniel Veillard <veillard@redhat.com> 0.0.23-1
  286. - memory corruption fix from Mark on the client side
  287. - extending the protocol and API to allow skipping Exists and EndExists
  288. events to avoid deadlock on reconnect or when they are not used.
  289. * Mon Jan 31 2005 Daniel Veillard <veillard@redhat.com> 0.0.22-1
  290. - bit of python bindings improvements, added test
  291. - fixed 3 bugs
  292. * Wed Jan 26 2005 Daniel Veillard <veillard@redhat.com> 0.0.21-1
  293. - Added Python support
  294. - Updated for inotify-0.18
  295. * Thu Jan 6 2005 Daniel Veillard <veillard@redhat.com> 0.0.20-1
  296. - Frederic Crozat seems to have found the GList corruption which may fix
  297. #132354 and related problems
  298. - Frederic Crozat also fixed poll only mode
  299. * Fri Dec 3 2004 Daniel Veillard <veillard@redhat.com> 0.0.19-1
  300. - still chasing the loop bug, made another pass at checking GList,
  301. added own copy with memory poisonning of GList implementation.
  302. - fixed a compile issue when compiling without debug
  303. * Fri Nov 26 2004 Daniel Veillard <veillard@redhat.com> 0.0.18-1
  304. - still chasing the loop bug, checked and cleaned up all GList use
  305. - patch from markmc to minimize load on busy apps
  306. * Wed Oct 20 2004 Daniel Veillard <veillard@redhat.com> 0.0.16-1
  307. - chasing #132354, lot of debugging, checking and testing and a bit
  308. of refactoring
  309. * Sat Oct 16 2004 Daniel Veillard <veillard@redhat.com> 0.0.15-1
  310. - workaround to detect loops and avoid the nasty effects, see RedHat bug #132354
  311. * Sun Oct 3 2004 Daniel Veillard <veillard@redhat.com> 0.0.14-1
  312. - Found and fixed the annoying bug where update were not received
  313. should fix bugs ##132429, #133665 and #134413
  314. - new mechanism to debug on-the-fly by sending SIGUSR2 to client or server
  315. - Added documentation about internals
  316. * Fri Oct 1 2004 Daniel Veillard <veillard@redhat.com> 0.0.13-1
  317. - applied portability fixes
  318. - hardened the code while chasing a segfault
  319. * Thu Sep 30 2004 Daniel Veillard <veillard@redhat.com> 0.0.12-1
  320. - potential fix for a hard to reproduce looping problem.
  321. * Mon Sep 27 2004 Daniel Veillard <veillard@redhat.com> 0.0.11-1
  322. - update to the latest version of inotify
  323. - inotify support compiled in by default
  324. - fix ABI FAM compatibility problems #133162
  325. * Tue Sep 21 2004 Daniel Veillard <veillard@redhat.com> 0.0.10-1
  326. - more documentation
  327. - Added support for a configuration file $HOME/.gaminrc
  328. - fixes FAM compatibility issues with FAMErrno and FamErrlist #132944
  329. * Wed Sep 1 2004 Daniel Veillard <veillard@redhat.com> 0.0.9-1
  330. - fix crash with konqueror #130967
  331. - exclude kernel (dnotify) monitoring for /mnt//* /media//*
  332. * Thu Aug 26 2004 Daniel Veillard <veillard@redhat.com> 0.0.8-1
  333. - Fixes crashes of the gam_server
  334. - try to correct the kernel/poll switching mode
  335. * Tue Aug 24 2004 Daniel Veillard <veillard@redhat.com> 0.0.7-1
  336. - add support for both polling and dnotify simultaneously
  337. - fixes monitoring of initially missing files
  338. - load control on very busy resources #124361, desactivating
  339. dnotify and falling back to polling for CPU drain
  340. * Thu Aug 19 2004 Daniel Veillard <veillard@redhat.com> 0.0.6-1
  341. - fixes simple file monitoring should close RH #129974
  342. - relocate gam_server in $(libexec)
  343. * Thu Aug 5 2004 Daniel Veillard <veillard@redhat.com> 0.0.5-1
  344. - Fix a crash when the client binary forks the gam_server and an
  345. atexit handler is run.
  346. * Wed Aug 4 2004 Daniel Veillard <veillard@redhat.com> 0.0.4-1
  347. - should fix KDE build problems