tags 568423 + patch
thanks

Dear maintainer,

I've prepared an NMU for liblinux-inotify2-perl (versioned as 1:1.2-0.1) and
uploaded it to DELAYED/5. Please feel free to tell me if I
should delay it longer.

Regards.

-- 
Franck Joncourt
diff -Nru liblinux-inotify2-perl-1.1/Changes liblinux-inotify2-perl-1.2/Changes
--- liblinux-inotify2-perl-1.1/Changes	2006-09-29 16:40:20.000000000 +0200
+++ liblinux-inotify2-perl-1.2/Changes	2008-10-07 19:24:06.000000000 +0200
@@ -3,6 +3,13 @@
 TODO: document move/renaming issues for fullname
 TODO: find_watchers($path), or maybe just ->watchers
 
+1.2  Tue Oct  7 19:23:57 CEST 2008
+	- include IN_DELETE_SELF in events that cancel watchers, as
+          the kernel seems to handle it this way only.
+        - require sys/inotify.h to be installed, remove the local
+          copy (patch by Adrian Bunk).
+        - update examples.
+
 1.1  Fri Sep 29 16:40:14 CEST 2006
 	- fixed formatting.
 	- add IN_MASK_ADD, IN_DONT_FOLLOW, IN_ONLYDIR.
diff -Nru liblinux-inotify2-perl-1.1/debian/changelog liblinux-inotify2-perl-1.2/debian/changelog
--- liblinux-inotify2-perl-1.1/debian/changelog	2010-03-23 21:17:55.000000000 +0100
+++ liblinux-inotify2-perl-1.2/debian/changelog	2010-03-23 21:17:57.000000000 +0100
@@ -1,3 +1,11 @@
+liblinux-inotify2-perl (1:1.2-0.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * New upstream release. (Closes: #568423)
+  * Updated debhelper compatibility from 4 to 5.
+
+ -- Franck Joncourt <fra...@debian.org>  Tue, 23 Mar 2010 20:47:14 +0100
+
 liblinux-inotify2-perl (1:1.1-2.1) unstable; urgency=low
 
   * Non-maintainer upload for the Perl 5.10 transition.
diff -Nru liblinux-inotify2-perl-1.1/debian/compat liblinux-inotify2-perl-1.2/debian/compat
--- liblinux-inotify2-perl-1.1/debian/compat	2010-03-23 21:17:55.000000000 +0100
+++ liblinux-inotify2-perl-1.2/debian/compat	2010-03-23 21:17:57.000000000 +0100
@@ -1 +1 @@
-4
+5
diff -Nru liblinux-inotify2-perl-1.1/Inotify2.pm liblinux-inotify2-perl-1.2/Inotify2.pm
--- liblinux-inotify2-perl-1.1/Inotify2.pm	2006-09-29 16:40:29.000000000 +0200
+++ liblinux-inotify2-perl-1.2/Inotify2.pm	2008-10-07 19:24:59.000000000 +0200
@@ -4,21 +4,14 @@
 
 =head1 SYNOPSIS
 
-=head2 Callback interface
+=head2 Callback Interface
 
  use Linux::Inotify2;
 
  # create a new object
  my $inotify = new Linux::Inotify2
-    or die "Unable to create new inotify object: $!";
+    or die "unable to create new inotify object: $!";
  
- # for Event:
- Event->io (fd =>$inotify->fileno, poll => 'r', cb => sub { $inotify->poll });
- # for Glib:
- add_watch Glib::IO $inotify->fileno, in => sub { $inotify->poll };
- # manually:
- 1 while $inotify->poll;
-
  # add watchers
  $inotify->watch ("/etc/passwd", IN_ACCESS, sub {
     my $e = shift;
@@ -32,6 +25,14 @@
     $e->w->cancel;
  });
 
+ # integration into AnyEvent (works with POE, Glib, Tk...)
+ my $inotify_w = AnyEvent->io 
+    fh => $inofity, poll => 'r', cb => sub { $inotify->poll }
+ );
+
+ # manual event loop
+ 1 while $inotify->poll;
+
 =head2 Streaming Interface
 
  use Linux::Inotify2 ;
@@ -81,7 +82,7 @@
 use base 'Exporter';
 
 BEGIN {
-   $VERSION = '1.1';
+   $VERSION = '1.2';
 
    @constants = qw(
       IN_ACCESS IN_MODIFY IN_ATTRIB IN_CLOSE_WRITE
@@ -273,7 +274,7 @@
       push @res, $_;
 
       $w->{cb}->($_) if $w->{cb};
-      $w->cancel if $_->{mask} & (IN_IGNORED | IN_UNMOUNT | IN_ONESHOT);
+      $w->cancel if $_->{mask} & (IN_IGNORED | IN_UNMOUNT | IN_ONESHOT | IN_DELETE_SELF);
    }
 
    delete $self->{ignore};
@@ -428,7 +429,7 @@
 
 =head1 SEE ALSO
 
-L<Linux::Inotify>.
+L<AnyEvent>, L<Linux::Inotify>.
 
 =head1 AUTHOR
 
diff -Nru liblinux-inotify2-perl-1.1/Inotify2.xs liblinux-inotify2-perl-1.2/Inotify2.xs
--- liblinux-inotify2-perl-1.1/Inotify2.xs	2006-09-29 16:30:58.000000000 +0200
+++ liblinux-inotify2-perl-1.2/Inotify2.xs	2008-10-07 19:22:18.000000000 +0200
@@ -7,8 +7,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-#include "inotify.h"
-#include "inotify-syscalls.h"
+#include <sys/inotify.h>
 
 MODULE = Linux::Inotify2                PACKAGE = Linux::Inotify2
 
diff -Nru liblinux-inotify2-perl-1.1/inotify.h liblinux-inotify2-perl-1.2/inotify.h
--- liblinux-inotify2-perl-1.1/inotify.h	2006-09-07 10:39:33.000000000 +0200
+++ liblinux-inotify2-perl-1.2/inotify.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,75 +0,0 @@
-/*
- * Inode based directory notification for Linux
- *
- * Copyright (C) 2005 John McCutchan
- */
-
-#ifndef _LINUX_INOTIFY_H
-#define _LINUX_INOTIFY_H
-
-#include <linux/types.h>
-
-/*
- * struct inotify_event - structure read from the inotify device for each event
- *
- * When you are watching a directory, you will receive the filename for events
- * such as IN_CREATE, IN_DELETE, IN_OPEN, IN_CLOSE, ..., relative to the wd.
- */
-struct inotify_event {
-	__s32		wd;		/* watch descriptor */
-	__u32		mask;		/* watch mask */
-	__u32		cookie;		/* cookie to synchronize two events */
-	__u32		len;		/* length (including nulls) of name */
-	char		name[0];	/* stub for possible name */
-};
-
-#include "inotify-masks.h"
-
-#ifdef __KERNEL__
-
-#include <linux/dcache.h>
-#include <linux/fs.h>
-#include <linux/config.h>
-
-#ifdef CONFIG_INOTIFY
-
-extern void inotify_inode_queue_event(struct inode *, __u32, __u32,
-				      const char *);
-extern void inotify_dentry_parent_queue_event(struct dentry *, __u32, __u32,
-					      const char *);
-extern void inotify_unmount_inodes(struct list_head *);
-extern void inotify_inode_is_dead(struct inode *);
-extern u32 inotify_get_cookie(void);
-
-#else
-
-static inline void inotify_inode_queue_event(struct inode *inode,
-					     __u32 mask, __u32 cookie,
-					     const char *filename)
-{
-}
-
-static inline void inotify_dentry_parent_queue_event(struct dentry *dentry,
-						     __u32 mask, __u32 cookie,
-						     const char *filename)
-{
-}
-
-static inline void inotify_unmount_inodes(struct list_head *list)
-{
-}
-
-static inline void inotify_inode_is_dead(struct inode *inode)
-{
-}
-
-static inline u32 inotify_get_cookie(void)
-{
-	return 0;
-}
-
-#endif	/* CONFIG_INOTIFY */
-
-#endif	/* __KERNEL __ */
-
-#endif	/* _LINUX_INOTIFY_H */
diff -Nru liblinux-inotify2-perl-1.1/inotify-masks.h liblinux-inotify2-perl-1.2/inotify-masks.h
--- liblinux-inotify2-perl-1.1/inotify-masks.h	2006-09-29 16:34:22.000000000 +0200
+++ liblinux-inotify2-perl-1.2/inotify-masks.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,51 +0,0 @@
-/*
- * Inode based directory notification for Linux
- *
- * Copyright (C) 2005 John McCutchan
- */
-
-#ifndef _LINUX_INOTIFY_MASKS_H
-#define _LINUX_INOTIFY_MASKS_H
-
-/* the following are legal, implemented events that user-space can watch for */
-#define IN_ACCESS		0x00000001	/* File was accessed */
-#define IN_MODIFY		0x00000002	/* File was modified */
-#define IN_ATTRIB		0x00000004	/* Metadata changed */
-#define IN_CLOSE_WRITE		0x00000008	/* Writtable file was closed */
-#define IN_CLOSE_NOWRITE	0x00000010	/* Unwrittable file closed */
-#define IN_OPEN			0x00000020	/* File was opened */
-#define IN_MOVED_FROM		0x00000040	/* File was moved from X */
-#define IN_MOVED_TO		0x00000080	/* File was moved to Y */
-#define IN_CREATE		0x00000100	/* Subfile was created */
-#define IN_DELETE		0x00000200	/* Subfile was deleted */
-#define IN_DELETE_SELF		0x00000400	/* Self was deleted */
-#define IN_MOVE_SELF		0x00000800	/* Self was moved */
-
-/* the following are legal events.  they are sent as needed to any watch */
-#define IN_UNMOUNT		0x00002000	/* Backing fs was unmounted */
-#define IN_Q_OVERFLOW		0x00004000	/* Event queued overflowed */
-#define IN_IGNORED		0x00008000	/* File was ignored */
-
-/* helper events */
-#define IN_CLOSE		(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* close */
-#define IN_MOVE			(IN_MOVED_FROM | IN_MOVED_TO) /* moves */
-
-/* special flags */
-#define IN_ONLYDIR		0x01000000	/* only watch the path if it is a directory */
-#define IN_DONT_FOLLOW		0x02000000	/* don't follow a sym link */
-#define IN_MASK_ADD		0x20000000	/* add to the mask of an already existing watch */
-#define IN_ISDIR		0x40000000	/* event occurred against dir */
-#define IN_ONESHOT		0x80000000	/* only send event once */
-
-/*
- * All of the events - we build the list by hand so that we can add flags in
- * the future and not break backward compatibility.  Apps will get only the
- * events that they originally wanted.  Be sure to add new events here!
- */
-#define IN_ALL_EVENTS	(IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \
-			 IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \
-			 IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | \
-			 IN_MOVE_SELF)
-
-#endif	/* _LINUX_INOTIFY_H */
-
diff -Nru liblinux-inotify2-perl-1.1/inotify-syscalls.h liblinux-inotify2-perl-1.2/inotify-syscalls.h
--- liblinux-inotify2-perl-1.1/inotify-syscalls.h	2010-03-23 21:17:55.000000000 +0100
+++ liblinux-inotify2-perl-1.2/inotify-syscalls.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,112 +0,0 @@
-#ifndef _LINUX_INOTIFY_SYSCALLS_H
-#define _LINUX_INOTIFY_SYSCALLS_H
-
-/*
- * This file originally came from
- * http://kernel.org/pub/linux/kernel/people/rml/inotify/headers/
- * courtesy of Robert Love.
- * But it has been modified since then.
- */
-
-#include <sys/syscall.h>
-#include <unistd.h>
-
-#if !defined(__NR_inotify_init) || !defined(__NR_inotify_add_watch) || !defined(__NR_inotify_rm_watch)
-#if defined (__alpha__)
-# define __NR_inotify_init 444
-# define __NR_inotify_add_watch 445
-# define __NR_inotify_rm_watch 446
-
-#elif defined (__arm__)
-# define __NR_inotify_init (__NR_SYSCALL_BASE+316)
-# define __NR_inotify_add_watch (__NR_SYSCALL_BASE+317)
-# define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318)
-
-#elif defined (__frv__)
-# define __NR_inotify_init 291
-# define __NR_inotify_add_watch 292
-# define __NR_inotify_rm_watch 293
-
-#elif defined(__i386__)
-# define __NR_inotify_init 291
-# define __NR_inotify_add_watch 292
-# define __NR_inotify_rm_watch 293
-
-#elif defined (__ia64__)
-# define __NR_inotify_init 1277
-# define __NR_inotify_add_watch 1278
-# define __NR_inotify_rm_watch 1279
-
-#elif defined (__mips__)
-# if _MIPS_SIM == _MIPS_SIM_ABI32
-#  define __NR_inotify_init (__NR_Linux + 284)
-#  define __NR_inotify_add_watch (__NR_Linux + 285)
-#  define __NR_inotify_rm_watch (__NR_Linux + 286)
-# endif
-# if _MIPS_SIM == _MIPS_SIM_ABI64
-#  define __NR_inotify_init (__NR_Linux + 243)
-#  define __NR_inotify_add_watch (__NR_Linux + 243)
-#  define __NR_inotify_rm_watch (__NR_Linux + 243)
-# endif
-# if _MIPS_SIM == _MIPS_SIM_NABI32
-#  define __NR_inotify_init (__NR_Linux + 247)
-#  define __NR_inotify_add_watch (__NR_Linux + 248)
-#  define __NR_inotify_rm_watch (__NR_Linux + 249)
-# endif
-
-#elif defined(__parisc__)
-# define __NR_inotify_init (__NR_Linux + 269)
-# define __NR_inotify_add_watch (__NR_Linux + 270)
-# define __NR_inotify_rm_watch (__NR_Linux + 271)
-
-#elif defined(__powerpc__) || defined(__powerpc64__)
-# define __NR_inotify_init 275
-# define __NR_inotify_add_watch 276
-# define __NR_inotify_rm_watch 277
-
-#elif defined (__s390__)
-# define __NR_inotify_init 284
-# define __NR_inotify_add_watch 285
-# define __NR_inotify_rm_watch 286
-
-#elif defined (__sh__)
-# define __NR_inotify_init 290
-# define __NR_inotify_add_watch 291
-# define __NR_inotify_rm_watch 292
-
-#elif defined (__sh64__)
-# define __NR_inotify_init 318
-# define __NR_inotify_add_watch 319
-# define __NR_inotify_rm_watch 320
-
-#elif defined (__sparc__) || defined (__sparc64__)
-# define __NR_inotify_init 151
-# define __NR_inotify_add_watch 152
-# define __NR_inotify_rm_watch 156
-
-#elif defined(__x86_64__)
-# define __NR_inotify_init 253
-# define __NR_inotify_add_watch 254
-# define __NR_inotify_rm_watch 255
-
-#else
-# error "Unsupported architecture!"
-#endif
-#endif
-
-static inline int inotify_init (void)
-{
-	return syscall (__NR_inotify_init);
-}
-
-static inline int inotify_add_watch (int fd, const char *name, __u32 mask)
-{
-	return syscall (__NR_inotify_add_watch, fd, name, mask);
-}
-
-static inline int inotify_rm_watch (int fd, __u32 wd)
-{
-	return syscall (__NR_inotify_rm_watch, fd, wd);
-}
-
-#endif /* _LINUX_INOTIFY_SYSCALLS_H */
diff -Nru liblinux-inotify2-perl-1.1/MANIFEST liblinux-inotify2-perl-1.2/MANIFEST
--- liblinux-inotify2-perl-1.1/MANIFEST	2006-09-29 16:40:58.000000000 +0200
+++ liblinux-inotify2-perl-1.2/MANIFEST	2008-10-07 19:25:05.000000000 +0200
@@ -5,9 +5,6 @@
 Makefile.PL
 Inotify2.pm
 Inotify2.xs
-inotify.h
-inotify-masks.h
-inotify-syscalls.h
 eg/simple
 eg/event
 t/00_load.t
diff -Nru liblinux-inotify2-perl-1.1/META.yml liblinux-inotify2-perl-1.2/META.yml
--- liblinux-inotify2-perl-1.1/META.yml	2006-09-29 16:40:58.000000000 +0200
+++ liblinux-inotify2-perl-1.2/META.yml	2008-10-07 19:25:05.000000000 +0200
@@ -1,10 +1,12 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
-name:         Linux-Inotify2
-version:      1.1
-version_from: Inotify2.pm
-installdirs:  site
-requires:
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.30
+--- #YAML:1.0
+name:                Linux-Inotify2
+version:             1.2
+abstract:            ~
+license:             ~
+author:              ~
+generated_by:        ExtUtils::MakeMaker version 6.44
+distribution_type:   module
+requires:     
+meta-spec:
+    url:     http://module-build.sourceforge.net/META-spec-v1.3.html
+    version: 1.3
diff -Nru liblinux-inotify2-perl-1.1/README liblinux-inotify2-perl-1.2/README
--- liblinux-inotify2-perl-1.1/README	2006-09-29 16:41:00.000000000 +0200
+++ liblinux-inotify2-perl-1.2/README	2008-10-07 19:25:06.000000000 +0200
@@ -2,21 +2,14 @@
     Linux::Inotify2 - scalable directory/file change notification
 
 SYNOPSIS
-  Callback interface
+  Callback Interface
      use Linux::Inotify2;
 
      # create a new object
      my $inotify = new Linux::Inotify2
-        or die "Unable to create new inotify object: $!";
- 
-     # for Event:
-     Event->io (fd =>$inotify->fileno, poll => 'r', cb => sub { $inotify->poll });
-     # for Glib:
-     add_watch Glib::IO $inotify->fileno, in => sub { $inotify->poll };
-     # manually:
-     1 while $inotify->poll;
-
-     # add watchers
+        or die "unable to create new inotify object: $!";
+     
+ # add watchers
      $inotify->watch ("/etc/passwd", IN_ACCESS, sub {
         my $e = shift;
         my $name = $e->fullname;
@@ -24,11 +17,19 @@
         print "$name is no longer mounted\n" if $e->IN_UNMOUNT;
         print "$name is gone\n" if $e->IN_IGNORED;
         print "events for $name have been lost\n" if $e->IN_Q_OVERFLOW;
- 
-        # cancel this watcher: remove no further events
+     
+    # cancel this watcher: remove no further events
         $e->w->cancel;
      });
 
+     # integration into AnyEvent (works with POE, Glib, Tk...)
+     my $inotify_w = AnyEvent->io 
+        fh => $inofity, poll => 'r', cb => sub { $inotify->poll }
+     );
+
+     # manual event loop
+     1 while $inotify->poll;
+
   Streaming Interface
      use Linux::Inotify2 ;
 
@@ -230,7 +231,7 @@
         queued, will not be handled and resources will be freed.
 
 SEE ALSO
-    Linux::Inotify.
+    AnyEvent, Linux::Inotify.
 
 AUTHOR
      Marc Lehmann <schm...@schmorp.de>

Attachment: signature.asc
Description: Digital signature

Reply via email to