Path to this page: ./
pkgtools/pbulk-base,
Core components of the modular bulk build framework
Branch: CURRENT,
Version: 0.59,
Package name: pbulk-base-0.59,
Maintainer: pkgsrc-userspbulk is the modular bulk build framework for pkgsrc.
This package contains the core components:
- pbulk-scan, a program to scan the entire pkgsrc tree
or a list of directories therein for packages and
dependencies. Distributed operation using a master/client
mode is supported.
- pbulk-resolve, a program to resolve the dependencies
from the output of pbulk-scan
- pbulk-build, the build scheduler. Distributed builds via TCP
are supported.
This package does not contain the script logic to build actual packages.
Required to build:[
pkgtools/cwrappers]
Version history: (Expand)
- (2025-07-15) Package has been reborn
- (2025-07-15) Package deleted from pkgsrc
- (2025-04-09) Updated to version: pbulk-base-0.59
- (2025-01-13) Updated to version: pbulk-base-0.58
- (2023-02-13) Updated to version: pbulk-base-0.57
- (2023-02-12) Updated to version: pbulk-base-0.56
CVS history: (Expand)
| 2025-04-09 02:26:33 by Thomas Klausner | Files touched by this commit (6) |
Log message: pbulk*: add a 'strict_mode' option to pbulk When this is set to 'yes', pbulk will just exit if there is an unresolvable dependency in the resolve phase, like it did before pbulk-base-0.58/pbulk-0.74. Bump version. |
| 2025-01-13 12:03:03 by Thomas Klausner | Files touched by this commit (6) |
Log message: pbulk, pbulk-base: bump version to 0.74/0.58 When a dependency can not be resolved, mark packages using it as broken using PKG_FAIL_REASON, but don't fail the scan/resolve phase. This obsoletes the ignore_missing_dependencies configuration variable, add a warning about that. Improve the man pages while here. |
| 2023-02-12 22:17:24 by Joerg Sonnenberger | Files touched by this commit (3) |
Log message: pbulk-0.57: switch to a binary heap for the build queue |
| 2023-02-12 05:12:54 by Joerg Sonnenberger | Files touched by this commit (3) |
Log message: pbulk-base-0.56: Support for adjusting scheduling Switch to a weighted scheduling algorithm. Before, build order was based on number of reachable nodes in the dependency graph. This assumes that heavy packages are required by other packages. Some big packages nowadays violate that assumption and can result in long periods at the end of a build where only a few builders are active. Annotating those packages with PBULK_WEIGHT in the pbulk-index output can boost their priority to let them be built earlier. The default weight is 100. Note: the pbulk-build report has grown an extra field per line with the computed effective weight of each package. This file is normally used only internally. |
| 2023-02-11 00:14:32 by Joerg Sonnenberger | Files touched by this commit (3) |
Log message: pbulk-base-0.55: Optimize DAG computation Before the build starts, pbulk-build computes the size of the dependee graph for each package. This is naturally a O(n^2) problem. The existing algorithm used a linked list to check for duplicates. Replace this with a simple array for seen markers. While it is still quadratic to reset the array for every package, clearing the array is a simple memset. A no-op run after a full build now needs 0.3s on my work station compared to over 3min before. |
| 2019-03-12 16:37:51 by Thomas Klausner | Files touched by this commit (2) |
Log message: pbulk-base: fix double free(). Debugged by dillo & myself. Bump version. |
| 2016-06-23 17:07:39 by Joerg Sonnenberger | Files touched by this commit (2) |
Log message: pbulk-base-0.53: After processing the tree-scan job, reassign jobs to all idle clients. Before, this was only necessary at the very start of the build. |
| 2016-06-20 19:54:44 by Joerg Sonnenberger | Files touched by this commit (5) |
Log message: pbulk-base-0.52: Move the tree iteration logic from the master to the client. This matters primarily when using the additional package list in the top level makefile and ensures that the client configuration is used consistently. |