[mythtv] ANNOUNCEMENT: MythTV is moving to Github

Marc Tousignant myrdhn at gmail.com
Sun Dec 5 06:30:46 UTC 2010


The branch is problematic.  Nobody but the packager will know what
that actually is.  Is that on master?  On fixes/0.24 (which is it
based on version)?  These are questions that anyone using that ebuild
will get peppered with every time they report with the branch that
way.  We should be able to mostly help with that, but if it's not on a
branch we have, it makes it far more difficult.
_______________________________________________

That was for fixes/0.24, specifically
https://github.com/MythTV/mythtv/commit/11ee9c52ab2d639fa316abd2a2b90bb84b72
2974
I told the ebuild to take the branch and changed to the commit
11ee9c52ab2d639fa316 and that was the result of the compile.

This seems to be a limitation of git however and not a limitation of gentoo
ebuilds.
For example this is from a clean clone:
xen mythtv # git branch
* fixes/0.24
  Master
xen mythtv # git checkout 11ee9c52ab2d639fa316
Note: checking out '11ee9c52ab2d639fa316'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 11ee9c5... Switch version.sh to use git rather than svn
xen mythtv # git branch
* (no branch)
  fixes/0.24
  master

Notice when I went to the branch it reported fine, but once I chose to pick
a specific commit it was no longer sure of the branch.

There is a difference in how the version.cpp generates between a  manual
sync and an ebuild one.
Here is a manual checkout to 11ee9c52ab2d639fa316
xen mythtv # cat version.cpp
#include "mythexp.h"
#include "mythversion.h"

const MPUBLIC char *myth_source_version = "v0.24-38-g11ee9c5";
const MPUBLIC char *myth_source_path = "exported";
const MPUBLIC char *myth_binary_version = MYTH_BINARY_VERSION;

Here is the same version using the ebuild
xen mythtv # cat
/var/tmp/portage/media-tv/mythtv-9999/work/mythtv/version.cpp
#include "mythexp.h"
#include "mythversion.h"

const MPUBLIC char *myth_source_version = "v0.24-38-g11ee9c5-dirty";
const MPUBLIC char *myth_source_path = "tree-11ee9c52ab2d639fa316";
const MPUBLIC char *myth_binary_version = MYTH_BINARY_VERSION;

Also for comparison here are the version.cpp for a manual and ebuild
generated checkout from fixes/0.24 head
Manual:
xen mythtv # cat version.cpp
#include "mythexp.h"
#include "mythversion.h"

const MPUBLIC char *myth_source_version = "v0.24-40-ge4ea220";
const MPUBLIC char *myth_source_path = "fixes/0.24";
const MPUBLIC char *myth_binary_version = MYTH_BINARY_VERSION;

Ebuild:
xen mythtv # cat
/var/tmp/portage/media-tv/mythtv-9999/work/mythtv/version.cpp
#include "mythexp.h"
#include "mythversion.h"

const MPUBLIC char *myth_source_version = "v0.24-40-ge4ea220-dirty";
const MPUBLIC char *myth_source_path = "branch-fixes/0.24";
const MPUBLIC char *myth_binary_version = MYTH_BINARY_VERSION;

Note the branch- in front of the fixes/0.24 for the ebuild. Also of note, I
think the -dirty at the end of the ebuild version line is because of 2
patches that are applied to make the install step work on gentoo.
I'm pretty sure I could make the ebuild fake the source path instead of it
pulling the commit if it's a big deal.

MarcT



More information about the mythtv-dev mailing list