4 ms·
It's a deceptively complex with a lot of edge cases. Dependency resolution is a difficult problem, as are transactional updates. And you want it to be something
by gh02t 5y ago
It's a deceptively complex with a lot of edge cases. Dependency resolution is a difficult problem, as are transactional updates. And you want it to be something that is bulletproof, since broken packages are a nightmare. It's not that hard to get something usable, but it can take a lot of effort to get something competitive with what people have come to expect from existing mature package managers.
- phendrenad2 5y agoWhat's hard about dependency resolution? Aren't there off-the-shelf algorithms that solve this? At the very least, one could just lift code from other open-source tools, such as Aptitude or Yum.
- gh02t 5y agoDependency resolution is NP-hard. There are existing algorithms and libraries that solve it adequately despite this, but because they usually rely on some heuristics or simplifications they come with steep tradeoffs and can be quite complex to use. Sure you could lift code from other tools that do a good job. That's the point, if you start from scratch you have to recreate all that effort (which is considerable).