[Python-apps-commits] r2944 - in packages/pytagsfs/trunk/debian (4 files)

rrs-guest at users.alioth.debian.org rrs-guest at users.alioth.debian.org
Fri May 15 19:37:36 UTC 2009


    Date: Friday, May 15, 2009 @ 19:37:35
  Author: rrs-guest
Revision: 2944

New maintenance upload for pytagsfs.

Changes include:
* Take maintenance from Y Giridhar Appaji Nag
* Update Standards Version to 3.8.1 (No Changes Required)
* Pull patch from upstream to fix issues with newer pyinotify versions
  (0.8.6). Patch 02_pyinotify_compatibility.dpatch

Added:
  packages/pytagsfs/trunk/debian/patches/02_pyinotify_compatibility.dpatch
Modified:
  packages/pytagsfs/trunk/debian/changelog
  packages/pytagsfs/trunk/debian/control
  packages/pytagsfs/trunk/debian/patches/00list

Modified: packages/pytagsfs/trunk/debian/changelog
===================================================================
--- packages/pytagsfs/trunk/debian/changelog	2009-05-15 14:35:32 UTC (rev 2943)
+++ packages/pytagsfs/trunk/debian/changelog	2009-05-15 19:37:35 UTC (rev 2944)
@@ -1,15 +1,12 @@
 pytagsfs (0.9.0-2) unstable; urgency=low
 
-  [ Y Giridhar Appaji Nag ]
-  * Add Ritesh Raj Sarraf <rrs at researchut.com> to Uploaders
+  * Take maintenance from Y Giridhar Appaji Nag
+  * Pull patch 02_pyinotify_compatibility.dpatch from upstream
+    to fix compatibility issues with newer, backwards incompatible, pyinotify
+  * Bump Standards Version to 3.8.1 (No changes required) 
 
-  [ Ritesh Raj Sarraf ]
-  * Strict dependency on python-pyinotify (<= 0.7.1). The newer versions are
-    incompatible.
-  * Take maintenance from Y Giridhar Appaji Nag. 
+ -- Ritesh Raj Sarraf <rrs at researchut.com>  Sat, 16 May 2009 00:47:09 +0530
 
- -- Ritesh Raj Sarraf <rrs at researchut.com>  Sun, 03 May 2009 14:48:08 +0530
-
 pytagsfs (0.9.0-1) unstable; urgency=low
 
   * New upstream release

Modified: packages/pytagsfs/trunk/debian/control
===================================================================
--- packages/pytagsfs/trunk/debian/control	2009-05-15 14:35:32 UTC (rev 2943)
+++ packages/pytagsfs/trunk/debian/control	2009-05-15 19:37:35 UTC (rev 2944)
@@ -2,11 +2,10 @@
 Section: utils
 Priority: optional
 Maintainer: Ritesh Raj Sarraf <rrs at researchut.com>
-Uploaders: Python Applications Packaging Team <python-apps-team at lists.alioth.debian.org>,
-    Y Giridhar Appaji Nag <appaji at debian.org>
+Uploaders: Python Applications Packaging Team <python-apps-team at lists.alioth.debian.org>, Y Giridhar Appaji Nag <appaji at debian.org>
 Build-Depends: debhelper (>= 5.0.38), dpatch
 Build-Depends-Indep: python-central (>= 0.5.6), python-sclapp (>= 0.5.2), xsltproc, docbook-xsl, python-libxml2, python-fuse (>= 0.2)
-Standards-Version: 3.8.0
+Standards-Version: 3.8.1
 XS-Python-Version: all
 Homepage: http://www.pytagsfs.org/
 Vcs-Svn: svn://svn.debian.org/svn/python-apps/packages/pytagsfs/trunk
@@ -14,7 +13,7 @@
 
 Package: pytagsfs
 Architecture: all
-Depends: ${python:Depends}, python-fuse (>= 0.2), python-pyinotify (<= 0.7.2), python-mutagen, python-sclapp (>= 0.5.2), fuse-utils
+Depends: ${python:Depends}, python-fuse (>= 0.2), python-pyinotify, python-mutagen, python-sclapp (>= 0.5.2), fuse-utils
 XB-Python-Version: ${python:Versions}
 Description: maps media files to an arbitrary directory structure
  pytagsfs is a FUSE filesystem that arranges media files in a virtual directory

Modified: packages/pytagsfs/trunk/debian/patches/00list
===================================================================
--- packages/pytagsfs/trunk/debian/patches/00list	2009-05-15 14:35:32 UTC (rev 2943)
+++ packages/pytagsfs/trunk/debian/patches/00list	2009-05-15 19:37:35 UTC (rev 2944)
@@ -1 +1,2 @@
 01_bug_reporting
+02_pyinotify_compatibility

Added: packages/pytagsfs/trunk/debian/patches/02_pyinotify_compatibility.dpatch
===================================================================
--- packages/pytagsfs/trunk/debian/patches/02_pyinotify_compatibility.dpatch	                        (rev 0)
+++ packages/pytagsfs/trunk/debian/patches/02_pyinotify_compatibility.dpatch	2009-05-15 19:37:35 UTC (rev 2944)
@@ -0,0 +1,145 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_pyinotify_compatibility.dpatch by Ritesh Raj Sarraf <rrs at researchut.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad pytagsfs-0.9.0~/NEWS pytagsfs-0.9.0/NEWS
+--- pytagsfs-0.9.0~/NEWS	2009-03-05 17:20:23.000000000 +0530
++++ pytagsfs-0.9.0/NEWS	2009-05-16 00:38:41.000000000 +0530
+@@ -5,6 +5,15 @@
+ .. contents::
+ 
+ 
++pytagsfs development version
++============================
++
++ * Updated pyinotify source tree monitor to be compatible with new 0.8.6
++   pyinotify release.  This is getting ugly.  Thanks to Ritesh Raj Sarraf for
++   the report and patch.  Fixes #364586.
++   (Forest Bond)
++
++
+ pytagsfs 0.9.0 2009-03-05
+ =========================
+ 
+diff -urNad pytagsfs-0.9.0~/modules/pytagsfs/sourcetreemon/pyinotify_.py pytagsfs-0.9.0/modules/pytagsfs/sourcetreemon/pyinotify_.py
+--- pytagsfs-0.9.0~/modules/pytagsfs/sourcetreemon/pyinotify_.py	2009-03-05 17:20:23.000000000 +0530
++++ pytagsfs-0.9.0/modules/pytagsfs/sourcetreemon/pyinotify_.py	2009-05-16 00:38:41.000000000 +0530
+@@ -32,6 +32,8 @@
+     event_processor = None
+     watch_descriptors = None
+ 
++    use_timeout_with_check_events = None
++
+     def __init__(self):
+         try:
+             import pyinotify
+@@ -39,20 +41,34 @@
+             raise MissingDependency('pyinotify')
+ 
+         self.pyinotify = pyinotify
+-        self.event_mask = (
+-          pyinotify.EventsCodes.IN_DELETE |
+-          pyinotify.EventsCodes.IN_CREATE |
+-          pyinotify.EventsCodes.IN_MOVED_FROM |
+-          pyinotify.EventsCodes.IN_MOVED_TO |
+-          pyinotify.EventsCodes.IN_MODIFY |
+-          pyinotify.EventsCodes.IN_ATTRIB
+-        )
++        try:
++            self.event_mask = (
++              pyinotify.IN_DELETE |
++              pyinotify.IN_CREATE |
++              pyinotify.IN_MOVED_FROM |
++              pyinotify.IN_MOVED_TO |
++              pyinotify.IN_MODIFY |
++              pyinotify.IN_ATTRIB
++            )
++        except AttributeError:
++            self.event_mask = (
++              pyinotify.EventsCodes.IN_DELETE |
++              pyinotify.EventsCodes.IN_CREATE |
++              pyinotify.EventsCodes.IN_MOVED_FROM |
++              pyinotify.EventsCodes.IN_MOVED_TO |
++              pyinotify.EventsCodes.IN_MODIFY |
++              pyinotify.EventsCodes.IN_ATTRIB
++            )
+ 
+         self.lock = RLock()
+ 
+     def start(self, debug = False):
+         if debug:
+-            self.pyinotify.VERBOSE = True
++            if hasattr(self.pyinotify, 'VERBOSE'):
++                self.pyinotify.VERBOSE = True
++            else:
++                import logging
++                self.pyinotify.log.setLevel(logging.DEBUG)
+ 
+         self._build_event_processor()
+ 
+@@ -74,6 +90,12 @@
+             def get_event_path(self, event):
+                 return os.path.join(event.path, event.name)
+ 
++            def get_event_is_dir(self, event):
++                try:
++                    return event.dir
++                except AttributeError:
++                    return event.is_dir
++
+             @ignore_exceptions(Error)
+             def process_default(self, event):
+                 pass
+@@ -81,17 +103,17 @@
+             @ignore_exceptions(Error)
+             def _process_add(self, event):
+                 self.source_tree_mon.add_cb(
+-                  self.get_event_path(event), event.is_dir)
++                  self.get_event_path(event), self.get_event_is_dir(event))
+ 
+             @ignore_exceptions(Error)
+             def _process_remove(self, event):
+                 self.source_tree_mon.remove_cb(
+-                  self.get_event_path(event), event.is_dir)
++                  self.get_event_path(event), self.get_event_is_dir(event))
+ 
+             @ignore_exceptions(Error)
+             def _process_update(self, event):
+                 self.source_tree_mon.update_cb(
+-                  self.get_event_path(event), event.is_dir)
++                  self.get_event_path(event), self.get_event_is_dir(event))
+ 
+             process_IN_DELETE = _process_remove
+             process_IN_CREATE = _process_add
+@@ -103,8 +125,13 @@
+         self.event_processor = PyInotifyEventProcessor(self)
+ 
+     def _build_notifier(self):
+-        self.notifier = self.pyinotify.Notifier(
+-          self.watch_manager, self.event_processor)
++        args = (self.watch_manager, self.event_processor)
++        try:
++            self.notifier = self.pyinotify.Notifier(*args, **dict(timeout = 0))
++            self.use_timeout_with_check_events = False
++        except TypeError:
++            self.notifier = self.pyinotify.Notifier(*args)
++            self.use_timeout_with_check_events = True
+ 
+     @nonatomic(attr_named('lock'))
+     def watch_dir(self, real_path):
+@@ -167,7 +194,11 @@
+ 
+     @nonatomic(attr_named('lock'))
+     def process_events(self):
+-        if self.notifier.check_events(0):
++        if self.use_timeout_with_check_events:
++            has_events = self.notifier.check_events(0)
++        else:
++            has_events = self.notifier.check_events()
++        if has_events:
+             self.notifier.read_events()
+             self.notifier.process_events()
+ 


Property changes on: packages/pytagsfs/trunk/debian/patches/02_pyinotify_compatibility.dpatch
___________________________________________________________________
Added: svn:executable
   + *




More information about the Python-apps-commits mailing list