tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [announcement] distbb - new tool for DISTrbuted Bulk Builds!
> Is there a summary somewhere of the relative strengths and weaknesses
> of this approach versus pbulk? While I think competition is a good
> thing, I also hope we don't let one bitrot.
- For distributing packages over network and/or chroots
separate program is used, wip/paexec. It was also made
by me last summer for my other works.
- New entity was introduced in distbb - pkg_src_summary. This is the same
as pkg_summary(5) but for pkgsrc source tree, i.e. for source packages.
- A few special and standalone utilities were created for
manipulating pkg_summary(5) and pkg_src_summary. All they are in
wip/pkg_summary-utils package.
For example,
pkg_src_summary - for generating pkg_src_summary
pkg_refresh_summary - for filtering only latest versions
pkg_cmp_summary - for comparing two summaries
pkg_update_summary - for updating pkg_summary(5)
and many others
- For obtaining list of all packages from pkgsrc tree
the standalone utility pkg_list_all_pkgs is used. It analyses
SUBDIR variable. It is also in pkg_summary-utils package.
- /usr/pkg and optionally /var/db/pkg are deleted and bootstrap
is unpacked before building each package. This is not a problem
even on my old home machine. Unlike Hubert's bulk build
framework (bulk/pre-build) directories to be removed are not hard-coded.
You can change variable RMDIRS_CMD.
- I think distbb is more flexible than pbulk. For example,
DESTDIR support is not a special "feature".
For running DESTDIR bulk builds,
you should change TARGETS and DEPENDS_TARGET variables in config file.
- I think distbb has better logging than pbulk. Both are available online
for comparison.
- distbb is written entirely in portable shell and awk.
wip/runawk, wip/pipestatus and wip/paexec projects are nice helpers.
- dewey algorithm is reimplemented in awk, yes I reinvent
yet another wheel :-)
- Generating pkg_src_summary for source packages is not distributed
_CURRENTLY_. Instead, an incremental approach is used,
pkg_update_src_summary tool was created for this, also a part of
pkg_summary-utils package. It uses fast method
for obtaining PKGNAME and PKGPATH variables using some
hacks (partial bmake emulation), and fallback to running bmake
in case of failure. This is a trick but it works about 10 times faster
than bmake-ing all packages. tnn@ is working on bmake improvements.
Anyway distributing pkg_src_summary over network/chroots is not a problem.
There is another variable for this: PKG_UPDATE_SRC_SUMMARY_CMD and
universal tool 'paexec' already mentioned above.
- chroots can also be used for bulk building.
TRANSPORT variable is for this. It defaults to '/usr/bin/ssh -x'
- .tbz is supported
- I'm tired of fights with Joerg.
wip/pbulk-noj/DESCR:
...
Fixed PRs:
pkg/36985 pbulk doesn't like .tbz (bzip2) extension
for binary pkgsrc packages
pkg/37002 libexec/scan utility fails on Linux
(already fixed differently in pkgtools/pbulk?)
pkg/37100 scan stage fails on Linux
(not really fixed, but not critical anymore)
pkg/37139 report subcomponent should quote
recipient's email addres
pkg/37700 pbulk's resolve stage stops the bulk build
- distbb weights about ~1500 lines of code (including license text).
pbulk - ~3800 lines of C code, ~1200 of scripts.
wip/pkg_summary-utils, wip/pipestatus, wip/runawk are stabndalone
and universal utilities that may be used outside distbb.
For example pkg_cmp_summary may be used for implementing pkg_summary-based
package management tool. pkg_refresh_summary for cleaning
binary repositories. pkg_src_summary and pkg_update_src_summary - for
wip/pkg_online etc.
I hope this is enough for comparison.
--
Best regards, Aleksey Cheusov.
Home |
Main Index |
Thread Index |
Old Index