Package: kineticstools
Version: 0.6.1+git20220223.1326a4d+dfsg-3
Followup-For: Bug #1092749
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu plucky ubuntu-patch
Control: tags -1 patch

Dear Maintainer,


In addition to disabling version.t test I had to replace usages of
pkg_resources with importlib.resources. This also had to be done for the
dependencies - python-pbcommand (#1093231) and python-pbcore (#1093230).


In Ubuntu, the attached patch was applied to achieve the following:

  * d/t/control: disable cram autopkgtests. detection_bam* tests are already
    disabled due to the missing data, version.t test fails due to the
    different usage formatting in python 3.13 (LP: #2093383).
  * d/p/remove-pkg-resources.patch: replaces the usages of pkg_resources
    with importlib.resources for Python 3.13 compatibility (LP: #2095050).
  * d/t/control: explicitly add pytest dependencies.


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers oracular-updates
  APT policy: (500, 'oracular-updates'), (500, 'oracular-security'), (500, 
'oracular'), (100, 'oracular-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.11.0-13-generic (SMP w/32 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/remove-pkg-resources.patch
 
kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/remove-pkg-resources.patch
--- 
kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/remove-pkg-resources.patch
      1970-01-01 12:00:00.000000000 +1200
+++ 
kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/remove-pkg-resources.patch
      2025-01-13 09:22:59.000000000 +1300
@@ -0,0 +1,58 @@
+Description: Remove usages of pkg_resources
+ pkg_resources are no longer available in Python 3.12 due to setuptools
+ removal from the default installation. This patch replaces the usages of
+ pkg_resources with importlib.resources.
+Author: Vladimir Petko <vladimir.pe...@canonical.com>
+Bug: https://github.com/PacificBiosciences/kineticsTools/pull/105
+Bug-Ubuntu: 
https://bugs.launchpad.net/ubuntu/+source/kineticstools/+bug/2095050
+Last-Update: 2025-01-16
+
+--- a/kineticsTools/ipdModel.py
++++ b/kineticsTools/ipdModel.py
+@@ -1,4 +1,4 @@
+-from pkg_resources import Requirement, resource_filename
++from importlib import resources
+ import logging
+ import gzip
+ import os.path as op
+@@ -47,9 +47,11 @@
+
+
+ def _getAbsPath(fname):
+-    return resource_filename(Requirement.parse(
+-        'kineticsTools'), 'kineticsTools/%s' % fname)
+-
++    try:
++        with resources.as_file(resources.files('kineticsTools') / fname) as 
path:
++            return str(path)
++    except:
++        return os.path.join(os.path.dirname(__file__), path)
+
+ class GbmContextModel(object):
+
+--- a/kineticsTools/ipdSummary.py
++++ b/kineticsTools/ipdSummary.py
+@@ -20,7 +20,7 @@
+ import numpy as np
+ import queue
+ import traceback
+-from pkg_resources import Requirement, resource_filename
++from importlib import resources
+
+ from pbcommand.common_options import add_debug_option
+ from pbcommand.cli import get_default_argparser_with_base_opts, 
pacbio_args_runner
+@@ -43,9 +43,11 @@
+
+
+ def _getResourcePathSpec():
+-    default_dir = resource_filename(Requirement.parse(
+-        'kineticsTools'), 'kineticsTools/resources')
+-    return loader.getResourcePathSpec(default_dir)
++    try:
++        with resources.as_file(resources.files('kineticTools') / 'resources') 
as path:
++            return loader.getResourcePathSpec(path)
++    except:
++        return 
loader.getResourcePathSpec(os.path.join(os.path.dirname(__file__), 'resources'))
+
+
+ def _validateResource(func, p):
diff -Nru kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/series 
kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/series
--- kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/series  
2025-01-04 00:05:13.000000000 +1300
+++ kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/patches/series  
2025-01-13 09:22:59.000000000 +1300
@@ -7,3 +7,4 @@
 #ignore_h5py_deprecation_warnings_in_test.patch
 tests2to3.patch
 man-align-cols.patch
+remove-pkg-resources.patch
diff -Nru kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/tests/control 
kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/tests/control
--- kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/tests/control   
2025-01-04 00:05:13.000000000 +1300
+++ kineticstools-0.6.1+git20220223.1326a4d+dfsg/debian/tests/control   
2025-01-13 09:22:59.000000000 +1300
@@ -2,11 +2,13 @@
        cp -r Makefile test $AUTOPKGTEST_TMP/
        && cd $AUTOPKGTEST_TMP
        && ln -s /usr/share/kineticstools kineticsTools
-       && make -k py-tests cram-tests
+       && make -k py-tests
 Depends:
        make,
        @,
        python3-cram,
        python3-pytest,
+        python3-pytest-cov,
+        python3-pytest-xdist,
        hdf5-tools,
 Restrictions: allow-stderr,

Reply via email to