Your message dated Fri, 13 Mar 2020 22:41:45 +0000
with message-id <[email protected]>
and subject line Bug#953824: Removed package(s) from unstable
has caused the Debian Bug report #856283,
regarding python-inotifyx: add python3 support
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
856283: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856283
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: python-inotifyx
Severity: important
Tags: patch

Dear Maintainer,

I've updated inotifyx to build a python3 package (tested with python3.5
on debian stretch).

Thanks,

Brian
-- System Information:
Debian Release: 8.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
>From a0cf60121148f3ceb19ac68803418137955a012c Mon Sep 17 00:00:00 2001
From: Brian Russell <[email protected]>
Date: Mon, 27 Feb 2017 12:21:15 +0000
Subject: [PATCH 2/4] update C binding for python3

Update the module init for python3. This is required for version
3.5 onwards.
---
 inotifyx/binding.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/inotifyx/binding.c b/inotifyx/binding.c
index 95082ce..ef0094a 100644
--- a/inotifyx/binding.c
+++ b/inotifyx/binding.c
@@ -44,6 +44,9 @@
 #define EVENT_SIZE (sizeof (struct inotify_event))
 #define BUF_LEN (1024 * (EVENT_SIZE + 16))
 
+#if PY_MAJOR_VERSION >= 3
+#define IS_PY3
+#endif
 
 static PyObject * inotifyx_init(PyObject *self, PyObject *args) {
     int fd;
@@ -262,7 +265,25 @@ static PyMethodDef InotifyMethods[] = {
   {NULL, NULL, 0, NULL}
 };
 
+#ifdef IS_PY3
+static struct PyModuleDef inotifybinding =
+{
+  PyModuleDef_HEAD_INIT,
+  "inotifyx.binding",
+  (
+    "Low-level interface to inotify.  Do not use this module directly.\n"
+    "Instead, use the inotifyx module."
+  ),
+  -1,
+  InotifyMethods
+};
+
+PyMODINIT_FUNC PyInit_binding(void) {
+    PyObject *module = PyModule_Create(&inotifybinding);
 
+     if (module == NULL)
+        return NULL;
+#else
 PyMODINIT_FUNC initbinding(void) {
     PyObject* module = Py_InitModule3(
       "inotifyx.binding",
@@ -275,6 +296,7 @@ PyMODINIT_FUNC initbinding(void) {
 
     if (module == NULL)
         return;
+#endif
     
     PyModule_AddIntConstant(module, "IN_ACCESS", IN_ACCESS);
     PyModule_AddIntConstant(module, "IN_MODIFY", IN_MODIFY);
@@ -299,4 +321,7 @@ PyMODINIT_FUNC initbinding(void) {
     PyModule_AddIntConstant(module, "IN_ISDIR", IN_ISDIR);
     PyModule_AddIntConstant(module, "IN_ONESHOT", IN_ONESHOT);
     PyModule_AddIntConstant(module, "IN_ALL_EVENTS", IN_ALL_EVENTS);
+#ifdef IS_PY3
+    return module;
+#endif
 }
-- 
2.1.4

>From d2ffb3aa85fba9c288c892c3a2268647e5fa88ac Mon Sep 17 00:00:00 2001
From: Luca Boccassi <[email protected]>
Date: Fri, 24 Feb 2017 17:38:58 +0000
Subject: [PATCH 4/4] Add initial python3 support

Build and package for both python2 and python3.
---
 debian/control | 25 ++++++++++++++++++++++++-
 debian/rules   |  2 +-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/debian/control b/debian/control
index cf17152..bf4414e 100644
--- a/debian/control
+++ b/debian/control
@@ -3,9 +3,10 @@ Section: python
 Priority: optional
 Maintainer: Ritesh Raj Sarraf <[email protected]>
 Uploaders: Debian Python Modules Team <[email protected]>
-Build-Depends: debhelper (>= 9), python-all-dev (>= 2.6.6-3~), dh-python
+Build-Depends: debhelper (>= 9), python-all-dev (>= 2.6.6-3~), python3-all-dev, dh-python
 Standards-Version: 3.9.2
 X-Python-Version: >= 2.7
+X-Python3-Version: >= 3.2
 Vcs-Git: https://anonscm.debian.org/git/python-modules/packages/inotifyx.git
 Vcs-Browser: https://anonscm.debian.org/cgit/python-modules/packages/inotifyx.git
 Homepage: http://www.alittletooquiet.net/software/inotifyx/
@@ -31,3 +32,25 @@ Description: simple Python binding to the Linux inotify
   * The API provided by pyinotify seems to change in incompatible ways on a
     fairly regular basis and with little justification. inotifyx has a simple
     API that will change rarely, if ever.
+
+Package: python3-inotifyx
+Architecture: any
+Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Provides: ${python3:Provides}
+X-Python3-Version: >= 3.2
+Description: simple Python binding to the Linux inotify
+ inotifyx is a Python extension providing access to the Linux
+ inotify file system event notification API. It is primarily
+ written in C but has some Python window dressing
+ .
+ inotifyx exists as an alternative to the much known pyinotify bindings
+ .
+ Reasons you might choose inotifyx over pyinotify
+  * inotifyx is a C extension and does not use ctypes, making it
+    faster and less prone to subtle breakage due to changes in the inotify API
+  * inotifyx is a much thinner wrapper around inotify. pyinotify is more
+    complicated. It does provide features that inotifyx does not, but many of
+    them are not needed by most applications
+  * The API provided by pyinotify seems to change in incompatible ways on a
+    fairly regular basis and with little justification. inotifyx has a simple
+    API that will change rarely, if ever.
diff --git a/debian/rules b/debian/rules
index 32b1ae2..36fc8eb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,4 +9,4 @@ get-orig-source:
 	uscan --force-download --rename --download-version=$(PKG_VER) --destdir=.
 
 %:
-	dh $@ --with python2 --buildsystem=pybuild
+	dh $@ --with python2,python3 --buildsystem=pybuild
-- 
2.1.4

>From 1f0197385d4f9848aa3a128865466ccb062c7a72 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <[email protected]>
Date: Fri, 24 Feb 2017 17:37:13 +0000
Subject: [PATCH 3/4] Convert to dh-python2 and debhelper 9 format

In order to support both python2 and python3 builds out of the box we
need to modernize the packaging a bit.
Use debhelper 9 and dh-python2 and set the build system to pybuilder
with distutils.
The resulting package is the same as the previous one.
---
 debian/compat  |  2 +-
 debian/control |  4 +++-
 debian/rules   | 63 ++++------------------------------------------------------
 3 files changed, 8 insertions(+), 61 deletions(-)

diff --git a/debian/compat b/debian/compat
index 7f8f011..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-7
+9
diff --git a/debian/control b/debian/control
index c59966c..cf17152 100644
--- a/debian/control
+++ b/debian/control
@@ -3,8 +3,9 @@ Section: python
 Priority: optional
 Maintainer: Ritesh Raj Sarraf <[email protected]>
 Uploaders: Debian Python Modules Team <[email protected]>
-Build-Depends: debhelper (>= 7), python-all-dev (>= 2.6.6-3~)
+Build-Depends: debhelper (>= 9), python-all-dev (>= 2.6.6-3~), dh-python
 Standards-Version: 3.9.2
+X-Python-Version: >= 2.7
 Vcs-Git: https://anonscm.debian.org/git/python-modules/packages/inotifyx.git
 Vcs-Browser: https://anonscm.debian.org/cgit/python-modules/packages/inotifyx.git
 Homepage: http://www.alittletooquiet.net/software/inotifyx/
@@ -12,6 +13,7 @@ Homepage: http://www.alittletooquiet.net/software/inotifyx/
 Package: python-inotifyx
 Architecture: any
 Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}
+X-Python-Version: >= 2.
 Provides: ${python:Provides}
 Description: simple Python binding to the Linux inotify
  inotifyx is a Python extension providing access to the Linux
diff --git a/debian/rules b/debian/rules
index 9786d05..32b1ae2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,67 +1,12 @@
 #!/usr/bin/make -f
 
-PKG_NAME=inotifyx
 PKG_VER=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^-]+).*,\1,p')
 
-PYVERS=$(shell pyversions -vr)
-
--include /usr/share/python/python.mk
+export PYBUILD_NAME = inotifyx
+export PYBUILD_SYSTEM = distutils
 
 get-orig-source:
 	uscan --force-download --rename --download-version=$(PKG_VER) --destdir=.
 
-build: build-arch build-indep
-
-build-arch: $(PYVERS:%=build-python%)
-	touch $@
-
-build-indep: $(PYVERS:%=build-python%)
-	touch $@
-
-build-python%:
-	dh_testdir
-	python$* setup.py build
-	touch $@
-
-clean: $(PYVERS:%=clean-python%)
-	touch $@
-
-clean-python%: 
-	dh_testdir
-	dh_testroot
-
-	python$* setup.py clean --all
-	[ ! -e html ] || rm -rf html
-	[ ! -f setuplib.pyc ] || rm -rf setuplib.pyc
-
-	dh_clean 
-
-install: $(PYVERS:%=install-python%)
-	touch $@
-
-install-python%: build
-	dh_testdir
-	dh_testroot
-	dh_installdirs
-
-	python$* setup.py install --root $(CURDIR)/debian/python-inotifyx ${py_setup_install_args}
-
-binary-indep: build install
-
-binary-arch: build install
-		dh_testdir
-		dh_testroot
-		dh_installdocs
-		dh_installchangelogs NEWS
-		dh_python2
-		dh_compress
-		dh_fixperms
-		dh_strip
-		dh_installdeb
-		dh_shlibdeps
-		dh_gencontrol
-		dh_md5sums
-		dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install get-orig-source
+%:
+	dh $@ --with python2 --buildsystem=pybuild
-- 
2.1.4

>From 6273caed4b42acad700560d30ddad1daf382dde5 Mon Sep 17 00:00:00 2001
From: Brian Russell <[email protected]>
Date: Fri, 24 Feb 2017 17:01:41 +0000
Subject: [PATCH 1/4] python3 compatibility

Automated 2to3 changes plus manual fixup to make the code
python3 compatible.
---
 inotifyx/__init__.py |  6 +++---
 setup.py             |  4 ++--
 setuplib.py          | 12 ++++++------
 tests/__init__.py    |  2 +-
 tests/manager.py     |  4 ++--
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/inotifyx/__init__.py b/inotifyx/__init__.py
index df10385..fcfaa04 100644
--- a/inotifyx/__init__.py
+++ b/inotifyx/__init__.py
@@ -95,7 +95,7 @@ class InotifyEvent(object):
         '''
 
         parts = []
-        for name, value in constants.items():
+        for name, value in list(constants.items()):
             if self.mask & value:
                 parts.append(name)
         if parts:
@@ -124,7 +124,7 @@ if __name__ == '__main__':
     import sys
 
     if len(sys.argv) == 1:
-        print >>sys.stderr, 'usage: inotify path [path ...]'
+        sys.stderr.write('usage: inotify path [path ...]')
         sys.exit(1)
 
     paths = sys.argv[1:]
@@ -146,7 +146,7 @@ if __name__ == '__main__':
                     parts = [event.get_mask_description()]
                     if event.name:
                         parts.append(event.name)
-                    print '%s: %s' % (path, ' '.join(parts))
+                    print('%s: %s' % (path, ' '.join(parts)))
         except KeyboardInterrupt:
             pass
 
diff --git a/setup.py b/setup.py
index 5564aba..bbd64c1 100755
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@
 # Author: Forest Bond <[email protected]>
 # This file is in the public domain.
 
-import os, sys, commands
+import os, sys, subprocess
 from distutils.core import Extension
 
 
@@ -22,7 +22,7 @@ def get_version(release_file):
         finally:
             f.close()
     except (IOError, OSError):
-        status, output = commands.getstatusoutput('bzr revno')
+        status, output = subprocess.getstatusoutput('bzr revno')
         if status == 0:
             return 'bzr%s' % output.strip()
     return 'unknown'
diff --git a/setuplib.py b/setuplib.py
index cbfd67b..bbd6c74 100644
--- a/setuplib.py
+++ b/setuplib.py
@@ -1,7 +1,7 @@
 # Author: Forest Bond <[email protected]>
 # This file is in the public domain.
 
-from __future__ import with_statement
+
 
 import os, sys, shutil
 from tempfile import mkdtemp
@@ -216,8 +216,8 @@ class _DistinfoMixin:
 
     def _prepare_distinfo_string(self, value):
         if isinstance(value, str):
-            value = unicode(value)
-        return unicode(repr(value)).encode('utf-8')
+            value = str(value)
+        return str(repr(value)).encode('utf-8')
 
     def _write_distinfo_module(self, outfile, distinfo = (), imports = ()):
         distinfo = list(distinfo)
@@ -236,7 +236,7 @@ class _DistinfoMixin:
             log.info(' %s = %s', k, v)
 
         if not self.dry_run:
-            with open(outfile, 'wb') as f:
+            with open(outfile, 'w') as f:
                 f.write('# coding: utf-8\n')
                 f.write('\n')
                 for modname in imports:
@@ -359,8 +359,8 @@ class install_data(_install_data):
 
     def _gen_data_files(self, base_dir, data_files):
         for arg in data_files:
-            print arg
-            if isinstance(arg, basestring):
+            print(arg)
+            if isinstance(arg, str):
                 yield (base_dir, [arg])
             else:
                 subdir, filenames = arg
diff --git a/tests/__init__.py b/tests/__init__.py
index 4c2d77e..3537ebb 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -46,4 +46,4 @@ def main(**kwargs):
 
 def print_names(test_names = None):
     from tests.manager import manager
-    print '\n'.join(manager.get_names(test_names))
+    print('\n'.join(manager.get_names(test_names)))
diff --git a/tests/manager.py b/tests/manager.py
index 804ec12..a05f156 100644
--- a/tests/manager.py
+++ b/tests/manager.py
@@ -77,7 +77,7 @@ class TestManager(object):
             import coverage as _coverage
 
             if int(_coverage.__version__.split('.')[0]) < 3:
-                print >>sys.stderr, (
+                sys.stderr.write(
                   'warning: coverage versions < 3 '
                   'are known to produce imperfect results'
                 )
@@ -94,7 +94,7 @@ class TestManager(object):
             for test in self.tests:
                 if self.should_run_test(test, test_names):
                     if print_only:
-                        print test.id()
+                        print(test.id())
                     else:
                         suite.addTest(test)
 
-- 
2.1.4


--- End Message ---
--- Begin Message ---
Version: 0.2.0-1+rm

Dear submitter,

as the package inotifyx has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/953824

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].

Debian distribution maintenance software
pp.
Scott Kitterman (the ftpmaster behind the curtain)

--- End Message ---

Reply via email to