497 Commits

Author SHA1 Message Date
Joshua Root e30835a206 mpb: resolve port-tclsh symlink before executing
This avoids an undesirable modification of auto_path due to Tcl trying
to be helpful.

Closes: https://trac.macports.org/ticket/64507
2022-01-25 03:16:52 +11:00
Joshua Root 6c35baef3b dependencies.tcl: don't print errorInfo for non-error 2022-01-15 19:29:22 +11:00
Joshua Root f4a36d1fe5 dependencies.tcl: remove stray parenthesis 2022-01-13 21:57:38 +11:00
Joshua Root bf3bfbfa2a mpbb-gather-archives: granular license checking
Check distributability separately for each installed version (i.e.
variant combination) of the port.

Fixes: https://trac.macports.org/ticket/61768
2022-01-12 21:52:09 +11:00
Joshua Root b5fdd328a0 mirror-multi.tcl: enable verbose output
Fixes: https://trac.macports.org/ticket/58284
2022-01-12 11:14:58 +11:00
Joshua Root e49137dd8c mirror-multi.tcl: consider depends_patch 2022-01-12 11:05:34 +11:00
Joshua Root 9bdac0f4e9 dependencies.tcl: try to catch all errors 2022-01-11 13:08:49 +11:00
Joshua Root d018098624 dependencies.tcl: close mports for already active deps 2022-01-10 02:13:36 +11:00
Joshua Root 46001c13f0 failcache.tcl: save build url from env 2022-01-08 02:22:56 +11:00
Joshua Root 1d47f5c2c4 dependencies.tcl: always close ditem in install_dep 2022-01-08 01:47:02 +11:00
Joshua Root b81b507774 dependencies.tcl: fix following dependents 2022-01-08 01:40:53 +11:00
Joshua Root 9577242fe3 dependencies.tcl: check known_fail before building 2022-01-02 20:39:34 +11:00
Joshua Root d3945d88ed dependencies.tcl: skip deps for archive installs
They're not being activated yet, so calling mportexec is just doing
unnecessary work. Just run the install target directly.
2022-01-02 20:34:18 +11:00
Joshua Root af7bb523e1 dependencies.tcl: close mports for activated deps 2022-01-02 04:09:35 +11:00
Joshua Root bfdcbbc131 dependencies.tcl: turn off auto-upgrade
Instead deactivate any deps that are somehow outdated at the start.
2022-01-02 03:56:40 +11:00
Joshua Root a8ef1d961b sort-with-subports: restore previous traversal direction
Some ports somehow don't get their canonicalnames entry set when going
the other way.
2022-01-02 00:11:35 +11:00
Joshua Root f83c5266f6 mpbb dependency management improvements
* Only deactivate ports that are not needed for the next build, rather
  than always deactivating everything.
* Only deactivate ports before dependency installations if building
  from source (most installs will now be from an archive).
* Fail fast if a dependency is in the failcache, rather than continuing
  to check the rest of the deps. That does mean that multiple failed
  deps might have to be discovered one at a time by maintainers, but
  on the other hand the failcache checks can really add up and cause us
  to spend significant time on a port that we already know will fail.
* Replace much shell code with Tcl in order to take advantage of direct
  API access to avoid repeated work.
* Turn off verbose and debug output during the final activation step.

See: https://trac.macports.org/ticket/62621
2022-01-01 17:54:28 +11:00
Joshua Root 4db50fdf2f sort-with-subports: small performance trick 2022-01-01 06:39:57 +11:00
Joshua Root 9af7c6e365 Split out failcache handling into its own file 2022-01-01 06:18:26 +11:00
Joshua Root f2248d8a74 mpbb-install-dependencies: log time taken for each task 2021-12-29 17:57:53 +11:00
Joshua Root 6566c2911f mirror-multi.tcl: be silent if files already mirrored 2021-12-29 12:47:10 +11:00
Joshua Root edde1c6ce2 mirror-multi.tcl: consider skipping everything success 2021-12-28 21:31:17 +11:00
Joshua Root bdea90b82f mirror-multi.tcl: don't repeatedly mirror distfiles
Skip mirroring if any of the port's distfiles already had a checksum
mismatch this run. Also skip if all of the port's distfiles were
already successfully mirrored, since that information becomes readily
available in solving the aforementioned problem.

Fixes: https://trac.macports.org/ticket/57343
2021-12-28 18:49:43 +11:00
Joshua Root be743153f9 Don't install deps for already installed ports
This was previously done so that the dependencies' archives could be
gathered if needed, but now that will have been done in separate
builds.

Closes: https://trac.macports.org/ticket/57568
2021-12-27 17:57:38 +11:00
Joshua Root 9df6488863 mpbb-cleanup: only delete distfiles in watcher builds
This only cares about files more than 4 hours old, so it doesn't need
to run on every single triggered build.
2021-12-27 15:23:05 +11:00