I also finally worked through the hoops to get this closer to working, although some of my final clues came from reading ezze's posts.
It'd be more helpful if the wiki gave a complete working example. Here's the ones I used.
Code: Select all
# select default repo
portmod openmw select repo list
portmod openmw select repo add 0
# select GOTY data files
portmod openmw select repo list
portmod openmw select profile set 4
portmod openmw merge --update --deep --newuse @world
# edit ~/.config/portmod to define MORROWIND_DIR
# finally figured out a command to list which "patterns" can be installed
portmod openmw search meta | more
# tried to install this one (wanted total-overhaul, but that one is missing)
portmod -v --debug openmw merge i-heart-vanilla-directors-cut
I'm not a python programmer, so it's unclear why this is failing.
Code: Select all
Traceback (most recent call last):
File "<string>", line 21, in <module>
File "/usr/lib64/python3.6/site-packages/portmod/wrapper.py", line 252, in main
args.func(args)
File "/usr/lib64/python3.6/site-packages/portmod/wrapper.py", line 99, in wrapper_pybuild
pkg_func(pkg, "pkg_pretend")
File "/usr/lib64/python3.6/site-packages/portmod/wrapper.py", line 85, in pkg_func
return func()
File "/home/minecraft/.local/share/portmod/repos/openmw/common/system/system-1.0.pybuild", line 35, in pkg_pretend
self.warn(string)
File "/usr/lib64/python3.6/site-packages/pybuild_/pybuild.py", line 868, in warn
os.makedirs(warnings_dir, exist_ok=True)
File "/usr/lib64/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
OSError: [Errno 30] Read-only file system: '/tmp/portmod/warnings'
Traceback (most recent call last):
File "/usr/lib64/python3.6/site-packages/portmod/_cli/merge.py", line 141, in merge_main
emptytree=args.emptytree,
File "/usr/lib64/python3.6/site-packages/portmod/merge.py", line 304, in configure
save_state=True,
File "/usr/lib64/python3.6/site-packages/portmod/loader.py", line 368, in _sandbox_execute_pybuild
installed=installed,
File "/usr/lib64/python3.6/site-packages/portmod/loader.py", line 304, in _sandbox_execute
) from None
portmod.loader.SandboxedError: /home/minecraft/.local/share/portmod/repos/openmw/sys-bin/tes3cmd/tes3cmd-0.40_pre2.pybuild pretend failed!
ERROR: /home/minecraft/.local/share/portmod/repos/openmw/sys-bin/tes3cmd/tes3cmd-0.40_pre2.pybuild pretend failed!
/tmp/portmod exists and is writable. The filesystem is definitely not read-only.
Code: Select all
minecraft@linux-n7ak:~/Games> ls -ld /tmp/portmod/
drwxr-xr-x 5 minecraft users 4096 Jan 16 14:27 /tmp/portmod/
minecraft@linux-n7ak:~/Games> ls -l /tmp/portmod/
drwxr-xr-x 3 minecraft users 4096 Jan 16 14:19 modules
drwxr-xr-x 2 minecraft users 4096 Jan 16 14:26 pybuild
drwxr-xr-x 5 minecraft users 4096 Jan 16 14:32 sys-bin
So I created /tmp/portmod/warnings as a directory manually and re-ran.
Code: Select all
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/portmod/warnings/sys-bin/tes3cmd-0.40_pre2'
portmod.loader.SandboxedError: /home/minecraft/.local/share/portmod/repos/openmw/sys-bin/tes3cmd/tes3cmd-0.40_pre2.pybuild pretend failed!
ERROR: /home/minecraft/.local/share/portmod/repos/openmw/sys-bin/tes3cmd/tes3cmd-0.40_pre2.pybuild pretend failed!
Code: Select all
mkdir /tmp/portmod/warnings/sys-bin
mkdir /tmp/portmod/warnings/sys-bin/tes3cmd-0.40_pre2
Code: Select all
IsADirectoryError: [Errno 21] Is a directory: '/tmp/portmod/warnings/sys-bin/tes3cmd-0.40_pre2'
Code: Select all
minecraft@linux-n7ak:~/Games> rm /tmp/portmod/warnings/sys-bin/tes3cmd-0.40_pre2
A search turns up:
Code: Select all
tes3cmd | Tamriel Rebuilt. Tes3cmd is a command-line tool used for editing, inspecting and cleaning mods. Download ...
So I dropped back to i-heart-vanilla:
Code: Select all
OSError: [Errno 30] Read-only file system: '/tmp/portmod/warnings/sys-bin/virtualenv-0'
A search turns up:
Code: Select all
virtualenv is a tool to create isolated Python environments.
At this point, I'm at a loss on how to continue debugging.