Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: peckish, a CLI/Rust library for Linux package manipulation (github.com/queer)
3 points by notamy on Sept 11, 2023 | hide | past | favorite | 1 comment


This is a tool I’ve been working on for the last ~6 months. It was born out of frustration trying to package boxxy[1] for different distros.

This was originally to be presented at RustConf 2023 in a few days, under the talk “Repackage the World!,” but unfortunately my health took a sudden turn for the worse and I’m no longer able to give the talk.

peckish IS NOT a perfect replacement for distro-specific packaging tools, and its packages WILL NOT be compliant with every distribution’s standards for packages.

peckish IS:

- a way to make a quick-and-dirty packages for distributing a program

- a CLI/library for manipulating the contents of Linux packages

The core abstraction is an in-memory filesystem behind an async std::fs-like facade[2], allowing packages to be manipulated with more-intuitive random-access I/O instead of putting up with (nested) streaming archive formats. This facade also is used for ex. enabling easier archive manipulation[3], a library for copying between facade implementations[4], and more. This bets that most packages will never be larger than memory, which in my testing is a safe bet even with Docker images as inputs.

Sorry for adding more YAML to the world :P

[1] https://github.com/queer/boxxy

[2] https://github.com/queer/floppy-disk

[3] https://github.com/queer/flop

[4] https://github.com/queer/disk-drive




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: