497 Commits

Author SHA1 Message Date
Joshua Root fb0822137d Add mpbb-test-port command 2024-02-26 12:34:04 +11:00
Joshua Root 074bf6f520 dependencies.tcl: be thorough in close_open_mports
Make sure everything is fully deleted and cleared.
2024-02-16 16:36:30 +11:00
Joshua Root 3c8f133adf cleanup: correct check for inactive deps
The dependencies registry key will return all installed versions of
ports that a port depends on, and of course at most one can be active.
Only deactivate if there is no active version of the dep.
2024-02-16 11:11:55 +11:00
Joshua Root 69e0bdfff5 Print message when deactivating due to inactive dep 2024-02-16 10:54:56 +11:00
Joshua Root 4dc59540c3 cleanup: deactivate ports with inactive dependencies
Fixes: https://trac.macports.org/ticket/68662
2024-02-16 06:02:53 +11:00
Joshua Root 8095d0f5e3 dependencies.tcl: extra debugging in install_dep_source 2024-02-16 05:30:45 +11:00
Joshua Root 3097fc379b Add missing initial value 2024-02-07 21:58:39 +11:00
Joshua Root 51da561eae dependencies.tcl: use new dlist option to mportdepends 2024-02-07 21:40:33 +11:00
Joshua Root fc48552168 Call mportshutdown after uninstalling ports
This ensures that maintenance like vacuuming the registry and
checkpointing and truncating the log is performed.
2024-01-31 08:05:30 +11:00
Joshua Root 42e51b5cf1 cleanup: avoid timeout when deleting build dirs
Use a script that prints some output every 5 minutes while deleting,
rather than just rm.
2024-01-20 22:39:33 +11:00
Joshua Root 14b563c315 cleanup: only run uninstall-unneeded-ports on watcher
Doing this in response to low disk space had a higher chance of freeing
space by uninstalling something that was just built as a dependency of
the next build, meaning it would be immediately reinstalled.
2024-01-20 21:30:57 +11:00
Joshua Root 54413fe125 dependencies.tcl: clean work dirs in install_dep_source too 2024-01-20 06:02:30 +11:00
Joshua Root 7adad068f3 failcache: do nothing for keys longer than NAME_MAX
This can happen for ports with huge numbers of variants. A failure of
failcache_success after a successful build would previously appear to
be a failure to build the port.
2023-12-15 09:21:20 +11:00
Joshua Root 6573d549d9 cleanup: deactivate dependents of uninstalled ports 2023-11-01 04:22:18 +11:00
Joshua Root 9a73547264 dependencies.tcl: attempt to mitigate 503 errors
Ensure that archivefetch is not attempted at all in install_dep_source,
since we only get there if it already failed. This should prevent
failure from archivefetch getting a 503 for a signature again.

This is at best a poor and partial workaround, since archivefetch
failing for ports that have an archive available in the first place
means that those ports are unnecessarily built from source, and
furthermore, fetching the distfiles might fail the same way.

See: https://trac.macports.org/ticket/68563
2023-10-27 18:09:06 +11:00
Joshua Root b99f249c79 dependencies.tcl: reduce log spam
Specifically, don't show all output when calculating dependencies when
one or more deps have to be built from source.
2023-10-25 22:40:49 +11:00
Joshua Root 45d9cb3914 dependencies.tcl: factor out deactivation code
Deactivate in dependency order and with ports_nodepcheck set, to reduce
log noise about deactivating ports with dependents.
2023-10-25 22:30:26 +11:00
Joshua Root bcef872c21 mirror-multi.tcl: add darwin 23 2023-10-25 22:17:40 +11:00
Joshua Root 6a9b39f9ba fix uninitialised var 2023-10-11 11:35:36 +11:00
Joshua Root b0baf7ed5a fix proc name 2023-10-11 11:06:33 +11:00
Joshua Root 39749a7892 dependencies.tcl: reset state if deps need to be built
The use of a global variable by mportexec means multiple invocations
can interfere if this is not done. Having to build deps at this stage
should be rare, so performance should not be impacted too much.
2023-10-11 10:46:12 +11:00
Joshua Root 08fecd8e86 dependencies.tcl: close mports after activating
Should avoid misleading "Dependencies to be installed:" output due to a
quirk of how mportexec works.
2023-10-05 12:48:35 +11:00
Joshua Root 7acb767225 Use 2.8.1 for initial installation 2023-10-05 04:02:45 +11:00
Joshua Root c48853e678 dependencies.tcl: activate using already open mport
Doing this instead of using registry::run_target saves running another
mportopen for each dependency, so should perform better. This wasn't
originally possible due to the workaround for
https://trac.macports.org/ticket/24857.
2023-10-05 03:46:07 +11:00
Joshua Root 3a17fcd355 dependencies.tcl: always try archivefetch
The _archive_available check only looks at the public packages server.
There may still be an archive in a private location.

Fixes: https://trac.macports.org/ticket/67700
2023-06-28 23:07:04 +10:00