OndraK
2013-11-11 08:40:27 UTC
Hi,
yesterday on IRC I asked a question about resolving dependencies. My situation is the following: during several months there were several "best" stable versions of gentoo-sources, paludis, as expected, installed them during that time. Running "cave purge" didn't marked any (now) older gentoo-sources versions to uninstall, however, "cave uninstall sys-kernel/gentoo-sources:<old_version>" found the package to be uninstalled without any possible breakage.
I installed gentoo-sources manually (virtual/linux-kernel is not involved), there is no package depending on gentoo-sources (according to "cave print-dependent-ids"). This paludis' behaviour is kind of "strange" to me: "sys-kernel/gentoo-sources" record in world file does not let paludis to uninstall the older version. I am curious, and would like to know something "from behind the scene", if you could find some time to answer my question which may be a silly one.
Can a package manager (speaking about flawless one) use only the latest (best, or whatever we call it) version of package when a "category/package" is the only dependency on that package? And if so, should it be able to purge all older versions of the package? If not, what is the reason for it? I know that the dependencies (of the whole system) can be expressed as an oriented graph, I suppose that the decision is done by adding edges between packages (nodes) from dependent to depending (assuming world as a "meta-package"), taking limitations (flags, version restrictions, many others) into account. Nodes with no edges coming from it are unused, right? If there are several versions of a single pacakge, every version will have its own node, the dependency (edge) can thus lead from one version of the package, leaving the other versions unused. Or not (and why)?
Thank you for your time, mostly for the time spent on developing paludis (good manager).
Ond?ej Kaj?nek
yesterday on IRC I asked a question about resolving dependencies. My situation is the following: during several months there were several "best" stable versions of gentoo-sources, paludis, as expected, installed them during that time. Running "cave purge" didn't marked any (now) older gentoo-sources versions to uninstall, however, "cave uninstall sys-kernel/gentoo-sources:<old_version>" found the package to be uninstalled without any possible breakage.
I installed gentoo-sources manually (virtual/linux-kernel is not involved), there is no package depending on gentoo-sources (according to "cave print-dependent-ids"). This paludis' behaviour is kind of "strange" to me: "sys-kernel/gentoo-sources" record in world file does not let paludis to uninstall the older version. I am curious, and would like to know something "from behind the scene", if you could find some time to answer my question which may be a silly one.
Can a package manager (speaking about flawless one) use only the latest (best, or whatever we call it) version of package when a "category/package" is the only dependency on that package? And if so, should it be able to purge all older versions of the package? If not, what is the reason for it? I know that the dependencies (of the whole system) can be expressed as an oriented graph, I suppose that the decision is done by adding edges between packages (nodes) from dependent to depending (assuming world as a "meta-package"), taking limitations (flags, version restrictions, many others) into account. Nodes with no edges coming from it are unused, right? If there are several versions of a single pacakge, every version will have its own node, the dependency (edge) can thus lead from one version of the package, leaving the other versions unused. Or not (and why)?
Thank you for your time, mostly for the time spent on developing paludis (good manager).
Ond?ej Kaj?nek