Skip to content

Alternative fetch

Benjamin Winger requested to merge bmwinger/portmod:alternative_fetch into master

Sources are now unpacked inside of src_unpack. This can be overriden by mods that use alternative methods of getting files, such as from remote repos.

Note that this is src_unpack and not src_fetch since cloning a git repo consists of both fetching and unpacking. src_fetch may also eventually be added, for example to fetch downloads that require authentication (e.g. NexusMods).

Adds support for live pybuild updates. Live pybuilds should override can_update_live and determine whether or not they should be updated. The user will see this as an update, with the same version as the original listed as the old version. It may be useful to eventually also add a way of displaying the difference in some way (e.g. old commit hash and new hash).

Finally, adds an environment entry to the installed DB. This consists of the __dict__ object of the Mod, serialized as json (sets become lists, classes are stringified). This can be used by pybuilds to store arbitrary information, such as for the purposes of storing the installed commit hash. It is also useful for debugging. Note that it is compressed and can be loaded upon request using get_installed_env.

A few bugs were exposed and I've included fixes for them here.

Edited by Benjamin Winger

Merge request reports