Package Details: portmod 2.9.1-2

Git Clone URL: https://aur.archlinux.org/portmod.git (read-only, click to copy)
Package Base: portmod
Description: A cli tool to manage mods for OpenMW
Upstream URL: https://gitlab.com/portmod/portmod
Licenses: GPL3
Replaces: openmmm
Submitter: bmwinger
Maintainer: bmwinger
Last Packager: bmwinger
Votes: 8
Popularity: 0.000001
First Submitted: 2019-08-11 01:45 (UTC)
Last Updated: 2025-05-16 01:44 (UTC)

Pinned Comments

bmwinger commented on 2025-07-12 01:43 (UTC)

If you get a module not found error for portmod or any of its dependencies after the python version has updated, you need to re-install those packages (portmod depends on a few python packages that are rarely updated). See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update

Latest Comments

1 2 3 4 5 Next › Last »

bmwinger commented on 2025-07-12 01:43 (UTC)

If you get a module not found error for portmod or any of its dependencies after the python version has updated, you need to re-install those packages (portmod depends on a few python packages that are rarely updated). See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update

bmwinger commented on 2025-07-12 01:40 (UTC)

The index issue when syncing/querying I've run into before occasionally when updating from one version of portmod to the next (more specifically, one version of the tantivy indexer). Portmod will handle most index build issues by deleting and re-building the index from scratch, but it can't catch the panic. You can manually fix the issue by deleting the index (should be in ~/.cache/portmod/index). I guess in future it would be better to have portmod delete the index every time the tantivy version changes (breaking version changes at least). I've created an issue to track the problem: https://gitlab.com/portmod/portmod/-/issues/439.

I'm not sure about the issue with loading tamriel-data (I can't reproduce it), but what is 'gitaids'?

Also a friendly reminder that these comments are meant for issues with the AUR package, and while it's not a huge problem to report upstream problems here, it may be helpful to minimize off-topic comments to keep problems related to the AUR package visible (no threads or closable issues here unfortunately, though I guess I can pin comments about problems that come up repeatedly). Issues with portmod itself should be reported on the portmod issue tracker: https://gitlab.com/portmod/portmod/-/issues

Dornhoeschen commented on 2025-07-09 22:07 (UTC)

Not a problem of the software itself, but due to the use of gitaids, here is an error I get with openmw repo (?)

portmod openmw merge --update --deep @world

[...]
Fetch instructions for landmasses/tamriel-data-11::openmw:
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/portmodlib/_loader.py", line 396, in load_file
    pkg = __load_file_common(path, module, installed)
  File "/usr/lib/python3.13/site-packages/portmodlib/_loader.py", line 342, in __load_file_common
    pkg = module["Package"]()
  File "/home/dornhoeschen/.data/games/Morrowind/portmod/openmw/var/db/common/nexus/nexus-1.0-r3.pybuild", line 57, in __init__
    self.SRC_URI += f" {token}"
    ^^^^^^^^^^^^
AttributeError: 'Package' object has no attribute 'SRC_URI'


ERROR: The nofetch phase of the pybuild /home/dornhoeschen/.local/share/portmod/repos/openmw/landmasses/tamriel-data/tamriel-data-11.yaml failed.
Do not report this error message by itself. There will be another error message from the sandboxed code for the actual problem, probably directly above this one.

Dornhoeschen commented on 2025-07-09 21:58 (UTC) (edited on 2025-07-09 22:12 (UTC) by Dornhoeschen)

portmod sync

Syncing repo meta…
Done syncing repo meta.
Syncing repo openmw…
Done syncing repo openmw.
Syncing repo python…
Done syncing repo python.
Beginning index update for repo meta
Collecting packages|#                                                                                                                                                                       |0 Elapsed Time: 0:00:00
Loading package data|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|1 Time:  0:00:00
Updating index /                                                                                                                                                                                                    
thread 'merge_thread_0' panicked at /home/dornhoeschen/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tantivy-common-0.9.0/src/file_slice.rs:176:5:
assertion failed: end <= orig_range.end
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

thread 'segment_updater' panicked at /home/dornhoeschen/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tantivy-common-0.9.0/src/file_slice.rs:176:5:
assertion failed: end <= orig_range.end
Rayon: detected unexpected panic; aborting
Updating index /                                                                                                                                                                                                    fish: Job 1, 'portmod sync' terminated by signal SIGABRT (Abort)
Updating index \                

portmod openmw search wares

thread '<unnamed>' panicked at /home/dornhoeschen/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tantivy-common-0.9.0/src/file_slice.rs:176:5:
assertion failed: end <= orig_range.end
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Traceback (most recent call last):
  File "/usr/bin/portmod", line 33, in <module>
    sys.exit(load_entry_point('portmod==2.9.1', 'console_scripts', 'portmod')())
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/portmod/_cli/main.py", line 337, in main
    args.func(args)
    ~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/site-packages/portmod/_cli/search.py", line 21, in search_main
    query(
    ~~~~~^
        " ".join(args.query),
        ^^^^^^^^^^^^^^^^^^^^^
        limit=0,
        ^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/site-packages/portmod/query.py", line 164, in query
    return native_query(
        env.INDEX, [repo.name for repo in env.prefix().REPOS], value, limit
    )
pyo3_runtime.PanicException: assertion failed: end <= orig_range.end

Possibly relates: https://github.com/quickwit-oss/tantivy/issues/1629

tuxayo commented on 2025-06-24 03:10 (UTC)

Thanks for the python-python-sat update :)

See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update

Ok, it's not just Perl that has this. Thanks, now I'll just check with ls -ld /usr/lib/python* I had also something from Python 3.8 ^^"

I generally avoid it since it only helps if the bump occurs before someone runs an update

I guess in official repos the simultaneous updates avoid that issue.

Thanks for the guideline. I'll err on the side of caution like you.

bmwinger commented on 2025-06-23 23:45 (UTC) (edited on 2025-07-12 01:43 (UTC) by bmwinger)

See https://wiki.archlinux.org/title/Python#Module_not_found_after_Python_version_update

It happens after every python update. I'm not actually sure if there's an official policy on AUR pkgrel bumps after python updates, but I generally avoid it since it only helps if the bump occurs before someone runs an update and otherwise just leads to unnecessary rebuilds. But python-sat is probably due an update anyway (they don't really do releases) so I'll bump the version on that; it looks like there have been a few bugfixes which could possibly be relevant to portmod.

tuxayo commented on 2025-06-23 22:24 (UTC)

For anyone else having ModuleNotFoundError: No module named 'pysat' and ModuleNotFoundError: No module named 'rply'

I was able to build after rebuiling python-python-sat and python-rply. Should I flag them out of date? I'm not sure it's valid for a case of a rebuild needed.

Dornhoeschen commented on 2025-03-29 08:13 (UTC) (edited on 2025-03-29 08:15 (UTC) by Dornhoeschen)

Thank you, I could reinstall python-baron with yay -S python-baron --mflags "--nocheck".

I have no clue about what python-baron or python-redbaron does, but I can see that the git of python-baron has its last commit 4 years ago - there is several PRs not merged and I would say this package is abandoned. Maybe you could rely on other packages instead.

Fixing the baron error leads me to:

 Finished `release` profile [optimized] target(s) in 2m 11s
Copying rust artifact from target/release/libportmod.so to portmodlib/portmod.cpython-313-x86_64-linux-gnu.so
make: Entering directory '/home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc'
Running Sphinx v8.2.3
loading translations [en]... done
WARNING: while setting up extension sphinxcontrib.apidoc: Failed to convert [[<class 'str'>]] to a frozenset
making output directory... done
[autosummary] generating autosummary for: basic-usage.rst, cli/index.rst, cli/inquisitor.rst, cli/portmod.rst, concepts/cfg-protect.rst, concepts/index.rst, concepts/keywords.rst, concepts/modules.rst, concepts/profiles.rst, concepts/sandbox.rst, ..., dev/repo/package-files.rst, dev/repo/profiles.rst, dev/setup.rst, dev/use-flags.rst, index.rst, install/index.rst, install/linux.rst, install/macos.rst, install/windows.rst, setup.rst
loading intersphinx inventory 'python' from https://docs.python.org/3/objects.inv ...
Creating file /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/pybuild/pybuild.rst.
Creating file /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/pybuild/pybuild.info.rst.
Creating file /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/pybuild/pybuild.winreg.rst.
building [mo]: targets for 0 po files that are out of date
writing output... 
building [man]: all manpages
updating environment: [new config] 47 added, 0 changed, 0 removed
WARNING:root:Architecture test could not be found. It may not be a supported Architecture.
Collecting packages|#                                                                                                                                                                       |0 Elapsed Time: 0:00:00
Loading package data|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|1 Time:  0:00:00
Done updating index. |                                                                                                                                                                                              
reading sources... [100%] setup
looking for now-outdated files... none found
pickling environment... done
checking consistency... /home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/l10n.rst: document is referenced in multiple toctrees: ['dev/index', 'dev/index'], selecting: dev/index <- dev/l10n
/home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc/dev/manifest.rst: document is referenced in multiple toctrees: ['dev/packages', 'dev/repo/index'], selecting: dev/repo/index <- dev/manifest
done
preparing documents... done
copying assets... 
copying assets: done
writing... man1/inquisitor.1 { 
} man1/portmod.1 { 
} man5/portmod.5 { 
 config/package.accept_license
 config/package.accept_keywords
 config/package.mask
 config/package.use
 config/portmod.conf
 config/profile.user
 config/repos.cfg
 config/sets
} man7/portmod.7 { 
 concepts/keywords
 concepts/sets
 concepts/use-flags
 concepts/profiles
 concepts/sandbox
 concepts/cfg-protect
 concepts/modules
} man7/pybuild.7 { 
 dev/naming
 dev/manifest
 dev/dependencies
 dev/use-flags
 dev/archives
 dev/pybuild/pybuild
  dev/pybuild/pybuild.info
  dev/pybuild/pybuild.winreg
  dev/common
  dev/modules
  dev/arch_version
} man3/pybuild.3 { 
 dev/pybuild/pybuild.info
 dev/pybuild/pybuild.winreg
} man5/pybuild.5 { 
 dev/repo/package-files
 dev/repo/metadata.yaml
 dev/manifest
  dev/repo/profiles
   dev/repo/layout.conf
} done
build finished with problems, 1 warning (with warnings treated as errors).
make: *** [Makefile:20: man] Error 1
make: Leaving directory '/home/***/.cache/yay/portmod/src/portmod-v2.8.1/doc'
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: portmod-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
portmod - exit status 4

There is two warning

WARNING: while setting up extension sphinxcontrib.apidoc: Failed to convert [[<class 'str'>]] to a frozenset
[..]
WARNING:root:Architecture test could not be found. It may not be a supported Architecture.

I am not sure what fails the build.

Note: im running python-sphinx-8.2.3-1

bmwinger commented on 2025-03-03 01:44 (UTC)

Still working for me, with the exception that the manpage generation was producing a warning that was being treated as an error and making the build fail (the warning doesn't appear to have a negative effect, though I don't know exactly what's causing it). I've pushed a quick change to the package that makes that warning nonfatal.

The simple workaround for baron is just to edit the PKGBUILD and remove the tests. If you're using makepkg directly you can use --nocheck instead. I'm not sure if any of the AUR helpers let you skip checks, but yay at least will let you edit the PKGBUILD through its interface with --editmenu.

Dornhoeschen commented on 2025-03-03 00:30 (UTC) (edited on 2025-03-03 00:31 (UTC) by Dornhoeschen)

With the latest update to python-restrictedpython 8.0-1 i get further.

The following warning appears:

==> Starting build()...
/usr/lib/python3.13/site-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

        ********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        ********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
    section = defn.get("tool", {})[tool_name]
              ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
running build_rust

I then had to rebuild python-python-sat, python-redbaron and python-baron. The later failed to build because of some tests.

You reported a workaround on the package page - but I am unsure if I can apply it. Hence I reported the error.

In conclusion: Still no portmod available on arch