[mythtv-users] TRUNK not compiling under hardy, should it?

Brad Templeton brad+myth at templetons.com
Mon Oct 19 01:21:56 UTC 2009

On Mon, Oct 19, 2009 at 11:04:00AM +1100, Jean-Yves Avenard wrote:
> 2009/10/19 Brad Templeton <brad+myth at templetons.com>:
> >
> > My frontends are kept up to date (Jaunty and later kernels) but
> > my master server is, as is common for a server, not updated nearly
> > so much.  Instead I keep it on the Ubuntu long-term-support version,
> > which is designed for people who don't want the hassle of frequent
> > upgrades.
> long term support doesn't mean it's going to receive new version of
> software for the duration of support.

That's correct, as far as Ubuntu is concerned in what they support.

But the idea of an LTS release, as they have put it forward, is
that this is a release that will get support for bug fixes and
security problems for a long period.    As a result, people will
run it on stable systems (most notably servers) to avoid the regular
risks and hassles of upgrade.

When this happens, I happen to think it makes sense that software
packages try to build on such systems, especially software packages
that want to run on networks of systems which might be heterogeneous.

It is one thing to tell people, "To run this end user program, you 
need to upgrade your OS to the most recent version."  It is quite
another to say, "To run this networked system, you must upgrade every
system on your network to the latest release."

Mythtv, to avoid certain development hassles, is coded so that you can't
run a new frontend on an old backend.   To run a new frontend to get
new frontend features, like vdpau support etc. you must run a new
backend.    If the code won't compile on anything but the latest
systems, it means you must upgrade multiple machines.

I am not saying that this is a decision that developers mustn't make.
They are free to put any list of system requirements they want on
new versions to make the dev process as easy as possible.   I am
simply discussing what the consequences are of various decisions along
this line.

This is quite in keeping, in fact, with how most Linux based systems
work, because there is no financial cost to upgrading a linux system.
Because upgrading Windows costs money, windows developers commonly
release software packages that will run even on 8 year old Windows
computers, and almost always release code that will run on 8 year old
Windows computers with the application of a single upgrade.   I don't
admire much about windows, but I do like that about it.   It's not even
a deliberate consequence.  It's just that the coders know they will never
get far if they always demand people have the latest Windows, while
Linux coders don't fear that in the same way.  However that's a debate
for another day.   I mainly wanted to know what tack was being taken

Turns out my problem is not just a Hardy one, so I am digging into it
further.  I had already installed qt4 some time ago, as I have been updating
from trunk for a long time, and usually re-update every 4 to 6 months.
This particular one broke, for reasons not yet figured out.

On my list of projects I will probably never get to code would be a rework
of mythtv's protocol code so that old and new frontends and backends
can talk to one another.  This is not trivial.  On the database side it's
not bad as the newest backend always makes the database take the newest
form and fills in default values for new columns and tables.  The protocol
can be written so the fields are transferred with names and missing fields
filled in, but all code would need to follow a discipline of working OK
with default values.    The first blush of this would not be too hard but
getting everybody to follow along would be harder.

More information about the mythtv-users mailing list