Advantages

ewestbrook edited this page Feb 12, 2011 · 8 revisions

The EW Ebuilds for MythTV came about to satisfy the following needs and desires (mine), and have simply continued evolving from there.

  • Up-to-date. Sync, emerge, and go! Just have a look... MythTV's stable -fixes tree has a remarkable rate of stable releases. The ebuilds you'll find here are farm-fresh and keep up closely, while also being historically deterministic (meaning you can always emerge any specific build in the history of the repo).
  • Easy to customize. Want portage to install using a different git revision or branch? Copy an ebuild, give it a sensible name and version, and simply edit its branch, commit hash, and keywords. Done!
  • Sensible version numbers. Numeric and increasing version scheme, based on MythTV's versioning, and consistently mappable to MythTV's git commit hashes (using git describe).
  • Easy reverting. Did a recent MythTV change cause problems for you? Instantly restore WAF by simply emerging the specific version that worked well (within database schemas of course; across them, simply use your DB backups).
  • ONE mythplugins ebuild. Select your plugins with USE flags, the normal portage way for a build that has optional components selected in its configure. This is why there aren't separate mythfrontend and mythbackend ebuilds; it only makes sense that the plugins work the same way. Plus, it's much less tedious to only need one.
  • Portage "sets" support. Use emerge -av @mythtv to get everything in one go.
  • Readable code. Clean, readable, and well organized code benefits everyone. Contributions in this area are just as welcome as any other. Also, please visit the issues section if you'd like to share any improvement.
  • No config shenanigans. The name of an ebuild file maps the Gentoo version number to the corresponding MythTV version specification contained inside. Then, all of the common logic (the bulk of the ebuild, in fact) is shared for all of the version ebuilds in an eclass, which has the side benefit of keeping them tiny -- nothing but the configurables.
  • Stable/unstable consistency. MythTV's -fixes scheme is brilliant, but portage's ebuilds don't recognize it. So let's use the ~arch keywording in the ebuilds to indicate the actual MythTV stability level for a version, whether it's release (stable), fixes (stable patchlevel), or "trunk" (unstable).
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.