Package Details: patool 3.0.3-1

Git Clone URL: https://aur.archlinux.org/patool.git (read-only, click to copy)
Package Base: patool
Description: portable command line archive file manager
Upstream URL: https://wummel.github.io/patool/
Keywords: archiv
Licenses: GPL-3-only
Submitter: None
Maintainer: TrialnError
Last Packager: TrialnError
Votes: 59
Popularity: 4.23
First Submitted: 2013-02-25 06:33 (UTC)
Last Updated: 2024-11-06 18:27 (UTC)

Dependencies (11)

Sources (1)

Latest Comments

1 2 3 Next › Last »

TrialnError commented on 2023-11-23 17:01 (UTC)

Neat addition. Thank you for the patch, patlefort

patlefort commented on 2023-11-22 21:58 (UTC)

Hi, small patch to install the manual and bash completions:

diff --git a/PKGBUILD b/PKGBUILD
index dc7ae9f..a343b59 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,13 +4,13 @@
 pkgbase=patool
 pkgname='patool'
 pkgver=2.0.0
-pkgrel=1
+pkgrel=2
 pkgdesc="portable command line archive file manager"
 arch=('any')
 url="https://wummel.github.io/patool/"
 license=('GPL')
 depends=('python')
-makedepends=(python-build python-installer python-wheel python-setuptools)
+makedepends=(python-build python-installer python-wheel python-setuptools python-argcomplete)
 optdepends=("lz4: extracting LZ4 archives"
     "p7zip: extracting ZIP and 7z files"
     "unarchiver: extracting various formats"
@@ -29,4 +29,9 @@ build() {
 package() {
   cd "${pkgbase}-upstream-${pkgver}"
   python -m installer --destdir="$pkgdir" dist/*.whl
+
+  install -dm755 "${pkgdir}/usr/share/bash-completion/completions"
+  register-python-argcomplete patool > "${pkgdir}/usr/share/bash-completion/completions/patool"
+
+  install -Dm644 'doc/patool.1' -t "${pkgdir}/usr/share/man/man1"
 }

TrialnError commented on 2023-10-27 17:14 (UTC)

Ah, crap. The server were I built the test package wasn't as clean as I thought.

painfularch commented on 2023-10-27 16:31 (UTC) (edited on 2023-10-27 16:35 (UTC) by painfularch)

since last commit where python-setuptools was removed, package does not build:

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_impl.py", line 321, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'setuptools'

ERROR Backend 'setuptools.build_meta' is not available.
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: patool-exit status 4

P.S: I already flushed the cache so that is not the cause of this problem

TrialnError commented on 2021-12-20 17:16 (UTC)

It is suspicious that the setup wants to access a file in the root directory. I did a rebuild with the the current PKGBUILD and it works like a charm with makepkg.
Also of note is, that yay cached those files. Maybe this cache causes the failure. But only a speculation. Please try it with makepkg and check for modifications in the PKGBUILD.

jackjackk commented on 2021-12-19 22:40 (UTC) (edited on 2021-12-19 22:41 (UTC) by jackjackk)

Any ideas on how to solve the error below?

==> Starting build()...
Traceback (most recent call last):
  File "/home/jack/.cache/yay/patool/src/patool-upstream-1.12/setup.py", line 26, in <module>
    from setuptools import setup
  File "/usr/lib/python3.10/site-packages/setuptools/__init__.py", line 16, in <module>
    import setuptools.version
  File "/usr/lib/python3.10/site-packages/setuptools/version.py", line 1, in <module>
    import pkg_resources
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 559, in _build_master
    ws = cls()
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 552, in __init__
    self.add_entry(entry)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 608, in add_entry
    for dist in find_distributions(entry, True):
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2063, in find_on_path
    for dist in factory(fullpath):
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2128, in distributions_from_metadata
    yield Distribution.from_location(
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2591, in from_location
    )._reload_version()
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2989, in _reload_version
    md_version = self._get_version()
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2770, in _get_version
    version = _version_from_file(lines)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2554, in _version_from_file
    line = next(iter(version_lines), '')
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2765, in _get_metadata
    for line in self.get_metadata_lines(name):
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1417, in get_metadata_lines
    return yield_lines(self.get_metadata(name))
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1407, in get_metadata
    value = self._get(path)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1611, in _get
    with open(path, 'rb') as stream:
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.10/site-packages/google_api_core-2.3.2-py3.10.egg-info/PKG-INFO'
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: patool

TrialnError commented on 2020-12-23 19:40 (UTC)

I'm not a fan of bumping in those cases. Without a bump, the program fails for users, but they know afterwards they need to rebuild it. If pkgrel is bumped there still could be the issue, that someone still runs python3.8 and after an upgrade still has a broken package.
Either way has its quirks.

silverbluep commented on 2020-12-19 19:06 (UTC)

Can you bump the package number so it prompts helpers to rebuild this package? It needs to be rebuilt for python 3.9 to work again.

TrialnError commented on 2019-10-21 20:36 (UTC)

Thanks for the research bmwinger. If it is solved by switching the location of the source, then I will do this change.

bmwinger commented on 2019-10-19 19:52 (UTC)

The contents of /usr/lib/python3.6/site-packages/patool-1.12-py3.6.egg-info/ seem to be lacking read permissions, 640 rather than 644. This causes all python imports to fail

It looks like the issue here is that the archive on pypi already contains a patool.egg-info directory with 640 permissions. Removing this before building the package, or using the archive from github (which doesn't come with patool.egg-info already built) will create the patool.egg-info directory with the correct permissions.