Ticket #1156 (committed enhancement)
Entirely new thirdparty infrastructure
|Reported by:||jdreed||Owned by:||bbaren|
|Cc:||Fixed in version:|
We spend way too much time and effort on updating thirdparty, and have to play stupid games to work around broken dependency resolvers, and the whole thing is just too fragile. I propose a new design for thirdparty that makes everyone's lives easier (where "everyone" is me and alexp), and fixes #372:
Basically, we supply a list of packages (possibly separated into dependencies and recommendations), but I think we can do away with those concepts. This list can be a global list, or it can be per-distro. debathena-thirdparty is a package that knows where to find these lists, copies them locally, and iterates over the packages, apt-get installing each one (presumably not in its postinst, but rather as a cron job, or a trigger at the end of auto-update, or something). If a package fails, it retries. After 3 consecutive failures, it whines, either via athinfo (which we can add a new Nagios check for, or use update-status, or something) or syslog, or whatever. When someone uninstalls thirdparty, we can either remove those packages (again, failing if there are dependency issues), or perhaps mark them as auto-installed or something?
- Changing the membership of thirdparty is as simple as editing a plain text file, no rebuilds are necessary.
- We don't have to play stupid dependency games
- Removal of metapackages is far less likely.
- Fixes #372
- Installs possibly go faster as we can relegate this to firstboot or something?
- We're reverting to what are essentially control files. (Counterpoint: They worked.)
- There's no longer a hard guarantee that all of thirdparty must be installed for a machine to call itself cluster.
I'm fully aware that using APT is the Right(tm) way to do this. But it causes more trouble than it's worth, IMHO.
- Status changed from accepted to assigned
- Owner changed from jdreed to bbaren