3 ms·
If you want to model a real package manager, don't do a comparison of existing tools, all of which have flaws. Start with the feature set of RPM, and then ask a
by peterwwillis 10y ago
If you want to model a real package manager, don't do a comparison of existing tools, all of which have flaws. Start with the feature set of RPM, and then ask a professional software packager + developer what is missing.
In order to have a feature-complete package manager (that is, it does everything you will concievably need) you need at least the following:
- Unique file/object tracking
- Upgrade & Rollback
- Dynamic string interpolation (file paths, for example)
- Identification of architecture and OS
- ACL and extended permission support
- Tracking of both source and binary dependencies & versions
- Before & after script hooks for every single operation
- Cryptographic signing & verification
- Support for multiple central & distributed repositories
This is, of course, completely different from a build system, but has a few features in common. You may not need a package manager at all; you may just need a feature-complete build system, which is how you end up with CPAN. (There is no Perl package manager, though PPM attempts one, and Carton is just a bundler)