ports/167345: Update port audio/pianobar to 2012.04.24 and include a patch
Rusty Nejdl
rnejdl at ringofsaturn.com
Thu Apr 26 20:20:20 UTC 2012
>Number: 167345
>Category: ports
>Synopsis: Update port audio/pianobar to 2012.04.24 and include a patch
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Thu Apr 26 20:20:19 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Rusty Nejdl
>Release: FreeBSD 9.0-STABLE amd64
>Organization:
>Environment:
System: FreeBSD tethys.ringofsaturn.com 9.0-STABLE FreeBSD 9.0-STABLE #6: Thu Mar 15 08:43:45 CDT 2012 root at tethys.ringofsaturn.com:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
The current version of pianobar does not work anymore, giving:
>How-To-Repeat:
Run pianobar.
>Fix:
--- pianobar.diff begins here ---
diff -ruN pianobar/Makefile pianobar.new/Makefile
--- pianobar/Makefile 2012-01-11 23:43:46.000000000 -0600
+++ pianobar.new/Makefile 2012-04-26 14:55:27.000000000 -0500
@@ -6,7 +6,7 @@
#
PORTNAME= pianobar
-PORTVERSION= 2012.01.10
+PORTVERSION= 2012.04.24
CATEGORIES= audio
MASTER_SITES= http://6xq.net/static/projects/${PORTNAME}/
diff -ruN pianobar/distinfo pianobar.new/distinfo
--- pianobar/distinfo 2012-01-11 23:43:46.000000000 -0600
+++ pianobar.new/distinfo 2012-04-26 14:55:38.000000000 -0500
@@ -1,2 +1,2 @@
-SHA256 (pianobar-2012.01.10.tar.bz2) = 6d19e5abde542bcdf8b9cfa50448fbe95c1e113f59e54065c9f4e0fbf78690f9
-SIZE (pianobar-2012.01.10.tar.bz2) = 68839
+SHA256 (pianobar-2012.04.24.tar.bz2) = 1286005b14ef58ea5b7baece054e772761e6351fdeceadd3a69e0a7c8b9bf28e
+SIZE (pianobar-2012.04.24.tar.bz2) = 69538
diff -ruN pianobar/files/patch-main.c pianobar.new/files/patch-main.c
--- pianobar/files/patch-main.c 1969-12-31 18:00:00.000000000 -0600
+++ pianobar.new/files/patch-main.c 2012-04-26 15:07:04.000000000 -0500
@@ -0,0 +1,35 @@
+--- src/main.c 2012-04-24 13:09:20.000000000 -0500
++++ src/main.c.new 2012-04-26 15:06:29.000000000 -0500
+@@ -77,10 +77,31 @@
+ WaitressReturn_t wRet;
+ PianoRequestDataLogin_t reqData;
+ bool ret;
++ WaitressHandle_t waithSync;
++ char *syncTime;
++ unsigned long int syncTimeInt;
++
++ /* skip sync step by fetching time from somewhere else */
++ WaitressInit (&waithSync);
++ WaitressSetUrl (&waithSync, "http://ridetheclown.com/s2/synctime.php");
++ if (app->settings.proxy != NULL && strlen (app->settings.proxy) > 0) {
++ WaitressSetProxy (&waithSync, app->settings.proxy);
++ }
++ wRet = WaitressFetchBuf (&waithSync, &syncTime);
++ WaitressFree (&waithSync);
++ if (wRet != WAITRESS_RET_OK) {
++ BarUiMsg (&app->settings, MSG_ERR, "Unable to sync: %s\n",
++ WaitressErrorToStr (wRet));
++ return false;
++ }
++
++ syncTimeInt = strtoul (syncTime, NULL, 0);
++ app->ph.timeOffset = time (NULL) - syncTimeInt;
++ free (syncTime);
+
+ reqData.user = app->settings.username;
+ reqData.password = app->settings.password;
+- reqData.step = 0;
++ reqData.step = 1;
+
+ BarUiMsg (&app->settings, MSG_INFO, "Login... ");
+ ret = BarUiPianoCall (app, PIANO_REQUEST_LOGIN, &reqData, &pRet, &wRet);
diff -ruN pianobar/files/patch-piano.c pianobar.new/files/patch-piano.c
--- pianobar/files/patch-piano.c 1969-12-31 18:00:00.000000000 -0600
+++ pianobar.new/files/patch-piano.c 2012-04-26 15:07:27.000000000 -0500
@@ -0,0 +1,19 @@
+--- src/libpiano/piano.c 2012-04-24 13:09:20.000000000 -0500
++++ src/libpiano/piano.c.new 2012-04-26 15:04:49.000000000 -0500
+@@ -42,7 +42,7 @@
+ #include "crypt.h"
+ #include "config.h"
+
+-#define PIANO_PROTOCOL_VERSION "33"
++#define PIANO_PROTOCOL_VERSION "34"
+ #define PIANO_RPC_HOST "www.pandora.com"
+ #define PIANO_RPC_PORT "80"
+ #define PIANO_RPC_PATH "/radio/xmlrpc/v" PIANO_PROTOCOL_VERSION "?"
+@@ -272,6 +272,7 @@
+ "<?xml version=\"1.0\"?><methodCall>"
+ "<methodName>listener.authenticateListener</methodName>"
+ "<params><param><value><int>%lu</int></value></param>"
++ "<param><value><string></string></value></param>"
+ /* user */
+ "<param><value><string>%s</string></value></param>"
+ /* password */
--- pianobar.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
>pianobar
Welcome to pianobar (2012.04.24)! Press ? for a list of commands.
(i) Login... Error: Protocol incompatible. Please upgrade libpiano.
Upgrading alone was not sufficient to fix it and this includes a patch to make this work again. Please release this asap as the current version in ports is broken.
More information about the freebsd-ports-bugs
mailing list