OK so I have run into a number of problems, hopefully there is a way around this! The issue that has actually halted me is at the bottom, I have worked through the process is order though for clarity.
bitvector wrote:So, with that added to your sources.list (and after running apt-get update to get the package info), run:
apt-get -t hardy source mythtv
which will fetch the source and unpack it into a dir called "mythtv-0.21.0+fixes18254+ffmpeg15219+latm"
This worked, however the folder is called 'mythtv-0.21.0+fixes16838'. I do not know what this means but given it doesn't include ffmpeg updates it doesn't look good.
bitvector wrote:From there, you can find libs/libmythtv/avformatdecoder.cpp. Once you have patched it, apt-get install fakeroot and run (in the mythtv-0.21.0... dir):
fakeroot debian/rules binary
and it will build new deb packages of the mythtv stuff with the patched source.
So I found the code I needed to change and did that, and installed fakeroot. That all worked, and obviosuly I didn't try the rebuild yet.
bitvector wrote:However, before you build it, you'll need to get all of the build dependencies of the mythtv package (all of the libraries and development packages required to compile the stuff, which is typically a lot more than is needed to run it). Running
apt-get -t hardy build-dep mythtv
will automatically fetch and install the build dependencies if it can, but that site's package's build dependencies are specified in terms of Ubuntu hardy, which may have slightly different libraries compared to your Debian install, so it might not be able to satisfy all the dependencies. If you run into that problem, you can add
deb-src http://www.debian-multimedia.org unstable main
to your sources.list, apt-get update and then run apt-get build-dep mythtv (without the -t hardy) to get the build deps for the debian-multimedia version of mythtv, which I believe the patched version is based on. If that doesn't give you everything you need (i.e. running the fakeroot build process fails due to not having some library), in the mythtv-0.21.0+fixes18254+ffmpeg15219+latm dir, there is a "dsc" file which contains a list of all of the build dependencies required for the source package.
This is where I really had issues.
1) Get extra packages.
apt-get -t hardy build-dep mythtv
failed with
E: Build-dependencies for mythtv could not be satisfied.
Ok, need to add multimedia stuff.
2) Added the required line to sources.list, ran
and got the following error:
W: GPG error: http://www.debian-multimedia.org unstable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907
W: You may want to run apt-get update to correct these problems
Now usually Linux has pretty useful error messages, but telling me to run the command that just failed to fix the command that just failed...
3) Ran
anyway and got the following error. This is were I get stuck.
E: Build-Depends dependency for mythtv cannot be satisfied because the package libmp3lame-dev cannot be found
I try
apt-get install libmp3lame-dev
and get
E: Couldn't find package libmp3lame-dev
. Getting the source however does work, somewhat (ends with a warning about unsafe ownership, cannot check public key). But it seems to find it.
So I go have a look in 'mythtv_0.21.0+fixes16838-0ubuntu3.dsc', the most similar build depedency is 'liblame-dev'. I can apt-get this and that works fine, however
still fails with the same error. I also tried getting 'libmp3lame', doesn't exist. Installed 'lame', also no good.
Can anyone see what is going on here? I am not even sure if the problem is build-dep trying to find a package that doesn't exist (maybe named wrong somewhere?), or can it not find a package it does need?
Final note, I google libmp3lame-dev and find
this page. There is a direct download for a .deb file, could that help me? Also that page note liblame-dev as a conflict. Should I remove it?
Sorry for the long post, would greatly appreciate if someone can help me get to the bottom of this! Part of this process is me trying to learn more about Linux so i am not afraid to get my hands dirty, just need some guidance.