PDA

View Full Version : How to apply a patch to squeezeslave?



Mark Lanctot
2007-08-09, 08:48
Dominique was nice enough to post a patch here:

http://forums.slimdevices.com/showthread.php?t=37460

but I'm afraid my Linux skills are insufficient to know how to apply this to the 0.6.1 Linux i386.tgz squeezeslave package.

Would Dominique or anyone else care to help? Running "./squeezeslave localhost" or "./squeezeslave <SlimServer IP address" gives me an immediate "PortAudio error: Host error." although SS does indicate a new player at 127.0.0.1, so I think I should apply the patch.

I'm running SS 6.5.1 on Ubuntu 7.04 64-bit, but I do have the ia32 libraries and I'm able to run most 32-bit applications. (The 64 vs. 32 bit thing shouldn't make a difference, should it?)

I should also mention I'm not using SVN, but just downloaded it from the SourceForge site.

Dominique
2007-08-09, 09:48
Hi Mark,

Just to make things clear: this is a source-level patch, so you'll need to get the sources. This is not hard to do and is explained here: http://softsqueeze.sourceforge.net/download.html

You need to install the subversion ubuntu package to do so.

Basically, you just create a directory where you will be editing softsqueeze source files, go to this directory and write

svn co http://svn.slimdevices.com/repos/slim/trunk/softsqueeze/SlimProtoLib

It will download a bunch of files.

You then apply a patch using the "patch" command line utility.

In a shell, assuming your current directory is [your-base-directory]/SlimProtoLib, typing

patch -p0 < squeezeslave_patch.txt

should do it. You should probably try the '--dry-run' option, which will tell you what will happen without actually doing it, so you'll avoid garbling your sources if my recipe doesn't work.

There are probably more ways: you can do "man patch" in your shell to get more details.

Finally, you need to compile the new executable. In this same directory, type make -f makefile.linux. You may get error messages because of missing libraries: you have to install the ubuntu packages libflac-dev, libmad0-dev and libvorbis-dev if this is not already done [going from memory here].

Note that I'm saying all this without being able to try it: I'm not at home right now. The point I'm not certain about is whether subversion's diff format is compatible with what "patch" understands. Normally, "patch" is the natural counterpart of the "diff" program, whose output is understood by patch. My guess is that they'll be compatible, but that's just my guess.

Dominique

Robin Bowes
2007-08-09, 11:59
mflint wrote:

> Of course, if the person issuing the patch was granted check-in rights
> in subversion...! ;-)

Or if someone with check-in rights grabbed the patch, applied it, and
checked it in... ;)

R.

PS. Look for svn r12523.

mflint
2007-08-09, 14:00
I should probably explain... I wrote a reply with very little substance, and promptly deleted it thinking it was worthless.

And I'd have got away with it too, it it wasn't for you pesky... Robin Bowes.

(If you're interested, the gist of my post was "svn up; patch < patchfile.patch")

To summarise: "man patch"

Matthew