Description
A build wrapping toolbox that aims to normalize packaging across operating systems.
Package management across BSDs and GNU/Linux distributions duplicate about 85% of the packaging code, with much of the rest being variations that could be further reduced without any impact on the resulting binaries.
This is not about eliminating distributions or removing choice—it's about separating the what (build logic, semantics) from the how (distribution policy), allowing each distribution to focus on what makes them unique while sharing the common burden of packaging the software ecosystem.
What is duplicated
- Download URLs
- File hashes
- Dependency declarations
- Build instructions
- Installation logic
- Patching
- Metadata (version, description, licensing, etc.)
There's a potential for significant efficiency gains through a universal wrapping system that enables sharing a single description of the source package, then the toolbox can provide:
- a consistent set of commands (abstractions) across different build systems
- a single way to handle options, patching, tracking of configuration knob changes across versions
- automated updating of native package meta-data files
- (eventually) a review system where distributions can collaborate to verify new software versions
Instead of reimplementing everything, distributions would specify:
- Configuration options (enabled features),
- Dependency name mappings (abstract → distro-specific),
- File system layout preferences,
- Policy decisions (split packages, documentation handling),
- Distribution-specific patches (minimal, with justification),
Goals
- Reduce packaging effort and duplication across GNU/Linux, BSDs and others.
- Unlock 10x more productivity across the ecosystem (estimate based on the amount of duplication and reported packaging times).
- Other benefits:
- better collaborative security auditing
- faster updates
- better consistency & robustness as corner cases are more easily found
- reduced bitrot
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 25
Comments
Be the first to comment!
Similar Projects
This project is one of its kind!