[mythtv-users] How best to move to git bleeding edge from fedora rpm

Michael T. Dean mtdean at thirdcontact.com
Sat Jun 25 16:58:44 UTC 2011


<Response to your post inline, below, but since it's probably not too 
important, now, I'm "starting new" up here>

I just realized that you were the same Mark that added a comment on 
#9729.  I think the problem you're having--since you're using 
MythArchive--is actually http://code.mythtv.org/trac/ticket/9389 .  In 
other words, you just need fixed up Python code for MythArchive.  
There's some code on #9389, but I don't know my Python (nor 
MythArchive's existing Python scripts), which is why I passed the ticket 
off after I fixed what I (mistakenly) thought was causing the 
problem***.  On the bright side, editing the Python scripts can be done 
with a packaged install--no need to switch to self-compiled to work on 
this problem.

Oh, and FWIW, asking about problems on the -users list (as you did this 
time) and providing information like you did in the comment on #9729 (so 
I would have realized you're actually struggling with MythArchive) is 
the best way to find information about the problem and get information 
on a) whether it's actually a problem in MythTV or a configuration 
issue, b) whether a ticket already exists for the issue (so you can 
watch it for fixes or work on a fix yourself), and c) details of what's 
wrong, which might help in working around the issue (or fixing it 
yourself).  Since your comment was on our bug database, it wasn't the 
right place for discussion, so even if I had noticed that yours was 
unrelated (and was actually due to a problem reported in a different 
ticket), I likely wouldn't have responded.  On the -users list, however, 
I have plenty of room to write long novels explaining way more info than 
you're looking to get (as I've done here).

***At the time I accepted the ticket, I didn't realize that the 
MythArchive Python scripts were reading the database directly--I assumed 
it was getting a cut list from mythcommflag --getcutlist.  So, I fixed 
the output of --getcutlist to be like it was in 0.23 and below, but that 
didn't fix the problem in MythArchive, since it's using its own code to 
read the cut list directly from the database (so it needs to be modified 
to interpret the new format).  Basically, we no longer store the 0 frame 
or the "last" frame in the cut list.  So, if the first mark is a cut 
end, we know we cut from the beginning until the mark.  If the last mark 
is a cut begin, we know we cut from that mark to the end of the 
recording.  The Python script just needs updated to properly interpret 
the data (since it's not using the existing code that interprets the data).

Note, also, that Raymond Wagner has a patch that converts (most or all 
of) the MythArchive Python scripts to use the Python bindings--which 
should help prevent this kind of issue in the future.  I'm not sure if 
that fix will go in before 0.25 is released, but even if not, we should 
get some fix into 0.24-fixes--as soon as a dev who knows the 
scripts/Python has a chance to work on it.  Until then, you can easily 
apply patches yourself.


On 06/24/2011 11:31 PM, Mark wrote:
> On Fri, 2011-06-24 at 23:09 -0400, Mark wrote:
>> Actually, that one fixes a bug that can not possibly exist in
>> 0.24-fixes.  We don't have undo/redo support in 0.24-fixes--it went
>> into
>> unstable shortly after 0.24 was released.  If you look at the change in
>> that commit, I simply commented out one line of code--that doesn't even
>> exist in 0.24's deletemap.cpp.
>>
>> The change:
>> https://github.com/MythTV/mythtv/commit/e4be111e
>>
>> The DeleteMap::SetMap() function in 0.24-fixes:
>> https://github.com/MythTV/mythtv/blob/fixes%
>> 2F0.24/mythtv/libs/libmythtv/deletemap.cpp#L580
>>
>> So, that means if you're getting failures on long runs of the
>> transcoder
>> with 0.24-fixes, they're caused by something else.  We just need to
>> figure out why your transcodes are failing...
>>
> Hmmmm.
> The error you described sounded so much like what I was seeing.
> I was getting MARK_UPDATED_CUT entries in my recordedmarkups table when
> I used the cutlist editor.  I had thought that that was part of the
> undo/redo support, but I have not really figured that out yet, I guess.

Yeah, you /should/ get MARK_UPDATED_CUT entries when you use the 
editor--because you /are/ updating the cut list.  :)

When the transcoder runs, it starts by removing the MARK_UPDATED_CUT 
entry.  In unstable/development, though, when it set the new cut list 
without the MARK_UPDATED_CUT, the undo/redo code added some temporary 
marks (so it could undo back to the previous--but exactly identical--cut 
list), which resulted in the undo code adding a new MARK_UPDATED_CUT.  
Then, when mythtranscode got around to checking if someone else changed 
the cut list, it saw the MARK_UPDATED_CUT, and exited--even though the 
mark was put there as a side effect of the transcoder's code to remove 
the mark.

> I am using a rpm version right now
> rpm -q -a | grep mythtv
> gives
> mythtv-0.24.1-2.fc14.i686
>
> mythfrontend --version gives
> MythTV Version   : 0.24.1-2.fc14 (3657f313ac)
>
> I do not know how the rpms relate to the git branches, and I do not have
> source for the rpm.  Do you know where I can find the source associated
> with this distribution?

 From the mythfrontend --version, you see that you're using "0.24.1" 
(with some RPM-specific packaging on the end).  That means you're on 
fixes/0.24 branch, somewhere after 0.24.1 was released.  Specifically, 
in this case, you're at revision 3657f313ac .

So, you can find that changeset at ht tps://githu b.com/MythTV /myth 
tv/com mit/3657f313ac -- *do not* go to that web page (spaces added to 
obfuscate the link).  Unfortunately, they packaged a revision that 
corresponded to a /huge/ translation changeset--meaning github's "make 
it all look pretty" JavaScript will lock up your browser for a long time 
(could be many minutes) if you go to it (and can lock it up several 
different times if you leave the tab open after you finally get it 
displayed).

So, a /much/ safer way to find out when that was pushed is to use a 
local copy of the git repo and issue the command:

git log -1 3657f313ac

which gives:

commit 3657f313ac1c57ed0df171130bd914717f0084c3
Author: Nick Morrott <knowledgejunkie>
Date:   Mon May 30 01:15:47 2011 -0400

     Update en_gb MythFrontend, MythArcive and MythGallery translation 
from Nick

     Thank you Nick!

     Closes #9805

     Signed-off-by: Nicolas Riendeau <nriendeau at mythtv.org>

meaning you're on a build from May 30.  And you can see the difference 
between that revision and current 0.24-fixes by getting a copy of the 
repo and updating to most current (do a git pull if you're not sure if 
it's current) and issuing:

git diff 3657f313ac HEAD > ~/diffs

which shows that there's not a log of difference between your copy and 
current 0.24-fixes--and, specifically, no differences in the transcoder 
code.

>>> http://www.mythtv.org/wiki/Backend_migration  .
>>>
>>> So there have been no changes to the mythconverg schema between 24.1 and the master?
>> Actually, there have been /many/ changes.  0.24-fixes is schema version
>> 1264 and master is currently at 1277.
>>> I will backup the database anyway just in case.  I like to play with
>>> a safety net under me.
>> Always a good idea.
>>
>> However, since upgrading to unstable/development won't fix the issue
>> you're seeing, perhaps you could post some logs and we might be able to
>> figure out what's causing the problem--and save your having to risk
>> your
>> TV on unstable code.  :
> So the code is smart enough to recognize the schema version of the
> database and migrate it forward to the current version.  Cool!

Yes.  When upgrading, you only have to worry about 2 things:

1)  Manually make a database backup /before/ upgrading so that you can 
go back if things don't work (i.e. if you get an unstable version of 
unstable/development code) since the only way to downgrade is to restore 
a pre-upgrade backup of the database.  Even though MythTV will 
automatically back up your database before upgrading the schema (unless 
you've unwisely checked the box for "Disable automatic database backup" 
that tells it not to), I wouldn't rely on that backup to succeed (and I 
wrote the code that creates that backup), so create one before hand, anyway.

2) Make a decision /very/ quickly about whether to stay on the upgraded 
version.  If you wait until after your system has recorded some new 
shows and then decide to downgrade to the version you were on, when you 
restore the pre-upgrade backup, it will lack information on the new 
recordings--meaning you'd have to stick them in MythVideo and then let 
MythTV re-record them on rerun.  If you wait longer than just a few 
recordings, having 10 episodes of a show in MythTV's Watch Recordings 
and 5 episodes in MythVideo can be somewhat confusing.


Mike


More information about the mythtv-users mailing list