# # spec file for package perl-Linux-Inotify2 # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-Linux-Inotify2 Version: 2.2 Release: 1.2 #Upstream: CHECK(Artistic-1.0 or GPL-1.0-or-later) %define cpan_name Linux-Inotify2 Summary: Scalable directory/file change notification License: GPL-1.0-or-later OR Artistic-1.0 Group: Development/Libraries/Perl Url: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(common::sense) Requires: perl(common::sense) %{perl_requires} %description This module implements an interface to the Linux 2.6.13 and later Inotify file/directory change notification system. It has a number of advantages over the Linux::Inotify module: - it is portable (Linux::Inotify only works on x86) - the equivalent of fullname works correctly - it is better documented - it has callback-style interface, which is better suited for integration. As for the inotify API itself - it is a very tricky, and somewhat unreliable API. For a good overview of the challenges you might run into, see this LWN article: https://lwn.net/Articles/605128/. %prep %setup -q -n %{cpan_name}-%{version} find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" make %{?_smp_mflags} %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %defattr(-,root,root,755) %doc Changes README %license COPYING %changelog * Tue Dec 10 2019 - updated to 2.2 see /usr/share/doc/packages/perl-Linux-Inotify2/Changes 2.2 Mon Dec 9 04:09:05 CET 2019 - define IN_EXCL_UNLINK to 0 if it is missing, for the benefit of antique systems that lack this symbol. * Thu Nov 8 2018 Stephan Kulow - updated to 2.1 see /usr/share/doc/packages/perl-Linux-Inotify2/Changes 2.1 Fri Oct 26 03:16:03 CEST 2018 - damn, left debugging code not caught by tests (reported by losyme). 2.0 Thu Oct 25 03:19:08 CEST 2018 - fix poll and read documentation w.r.t. errors - this changes the documented API, but is how the module has always behaved. - mention https://lwn.net/Articles/605128/ in the docs. - new on_overflow callback, called for overflow events. - new ->broadcast method that calls all watchers with some event. - automatically broadcast overflow events to all watchers by default. - read now returns all events (except ignored ones), not just ones it has registered watchers for (e.g. overflow events). - reduced dependencies (Mike Pomraning). - add IN_EXCL_UNLINK flag. - more efficient constant initialisation. * Sat Nov 17 2012 ro@suse.de - fix check-build.sh to work with kernel > 3.0 * Fri Nov 18 2011 coolo@suse.com - use original .tar.gz * Thu Jun 16 2011 vcizek@novell.com - update to 1.22 - use a more useful definition of IN_xxx methods - any bits, not a match. (pointed out by Anatoliy Grishayev). - slightly reworked the documentation. * Thu Mar 17 2011 cfarrell@novell.com - license update: GPL+ or Artistic See COPYING file. Same license as perl expands to GPL+ or Artistic * Fri Dec 10 2010 coolo@novell.com - switch to perl_requires macro * Mon Nov 29 2010 coolo@novell.com - remove /var/adm/perl-modules * Mon Jan 25 2010 anicka@suse.cz - update to 1.21 * fix a couple of typoes, as pointed out by Grant McLean. * rely on common::sense for stricter namespace checking. * 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. * Sun Jan 10 2010 jengelh@medozas.de - enable parallel build * Fri Nov 21 2008 ro@suse.de - update check-build.sh * Mon Sep 3 2007 ro@suse.de - remove buildrequires for certain kernel, does not help in a build environment - added check-build.sh to require at least 2.6.17 on build host * Fri Feb 23 2007 tpatzig@suse.de - initial package build