[[!template id=project title="Web interface for pbulk" contact=""" [tech-pkg](mailto:tech-pkg@NetBSD.org) """ category="pkgsrc" difficulty="medium" description=""" To create large sets of binary packages, pkgsrc uses the pbulk tool. pbulk is designed to build packages in bulk in a chroot sandbox (which may be based on an older NetBSD release, a 32-bit release on a 64-bit machine, or similar). However, managing multiple pbulk installations on a single machine can quickly become unwieldy. It would be nice to have a web frontend for managing pbulk, restarting builds, creating new build sandboxes based on different NetBSD versions and package sets, etc. For an example of a typical high-performance pbulk setup used on "large" hardware, see [Nia's pbulk scripts](https://github.com/alarixnia/bulkbuild-scripts). Notably, these include chroot management and can be used to build packages for multiple NetBSD (and pkgsrc) versions simultaneously by using different "base directories". - A management tool should support parallel pbulk across many chroots, but should also easily allow simultaneous builds for different NetBSD versions on the same machine. - It should be possible to schedule builds for later, somewhat like Jenkins. - There should be some kind of access management system. - pbulk creates status directories, it would be useful to present as much data from them as possible, as well as information on system resource usage (e.g. to find any stuck processes and monitor hardware health). - It should be possible for users to "kick" the builds (to quickly restart them, kill "stuck" processes, and so on). - It should be possible to schedule builds for upload after manual review of the reports, resulting in an rsync from a local staging directory to ftp.netbsd.org. - It should be usable "over a morning coffee". - For bonus points, it should be easily installable from pkgsrc, ideally with an RC script. - For bonus points, integrate well with the NetBSD base system tools (e.g. bozohttpd). """ ]] [[!tag gsoc350h]]