[9245] in athena10

home help back first fref pref prev next nref lref last post

[Debathena] #1156: Entirely new thirdparty infrastructure

daemon@ATHENA.MIT.EDU (Debathena Trac)
Tue Jun 26 13:46:15 2012

MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
From: "Debathena Trac" <debathena@MIT.EDU>
Cc: debathena@MIT.EDU
To: jdreed@MIT.EDU
Date: Tue, 26 Jun 2012 17:46:00 -0000
Reply-To: 
Message-ID: <042.427cc63837d27e4391c2a3d3106dee5f@mit.edu>
Content-Transfer-Encoding: 8bit

#1156: Entirely new thirdparty infrastructure
----------------------------+-----------------------------
    Reporter:  jdreed       |      Owner:
        Type:  enhancement  |     Status:  new
    Priority:  high         |  Milestone:  Precise Release
   Component:  --           |   Keywords:
Upstream bug:               |
----------------------------+-----------------------------
 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?

 Benefits:
 - 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?

 Cons:
 - 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.

-- 
Ticket URL: <http://athena10.mit.edu/trac/ticket/1156>
Debathena <http://debathena.mit.edu>
MIT Debathena Project


home help back first fref pref prev next nref lref last post