As a maintainer of a source-based Linux distribution I have tried multiple times throughout the years to add some form of binary package management extension to my distribution. However, these attempts were clear indicators that binary package management cannot be implemented as an after thought and require a clean and well-thought design if they were to be successful. This led me to the design of the following experimental Linux distribution, a playground where I could learn the fine details of binary package management and distribution without disrupting the users of my actual distribution.
Design
Package Manager
Command Line Interface
The package manager's name is quite simple, it is called bpm
which simply
stands for Binary Package Manager. Since this project is planned to be
temporary I am not planning on adding many bells and whistles to the command
line interface, and I am planning a simple, and straightforward user interface
similar to the package manager of Alpine Linux:
Command | Function |
---|---|
bpm add | Install packages |
bpm search | Search package |
bpm del | Remove packages |
bpm update | Update package index |
bpm upgrade | Upgrade installed packages |
Package Distribution Repository
Package Identifier Format
Field Name Type Name string Version string Release int Dependencies strarray Description string SPDX License Identifier string/enum Maintainer string Repository string Package Commit URL string