summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/squeezeboxserver/Makefile2
-rw-r--r--audio/squeezeboxserver/files/patch-dbix-class-bug.diff37
2 files changed, 38 insertions, 1 deletions
diff --git a/audio/squeezeboxserver/Makefile b/audio/squeezeboxserver/Makefile
index 9f606b0bf50e..20de191cc372 100644
--- a/audio/squeezeboxserver/Makefile
+++ b/audio/squeezeboxserver/Makefile
@@ -7,7 +7,7 @@
PORTNAME= squeezeboxserver
PORTVERSION= 7.5.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= audio
MASTER_SITES= http://downloads.slimdevices.com/SqueezeboxServer_v${PORTVERSION}/
DISTNAME= ${PORTNAME}-${PORTVERSION}-noCPAN
diff --git a/audio/squeezeboxserver/files/patch-dbix-class-bug.diff b/audio/squeezeboxserver/files/patch-dbix-class-bug.diff
new file mode 100644
index 000000000000..0e0684251df1
--- /dev/null
+++ b/audio/squeezeboxserver/files/patch-dbix-class-bug.diff
@@ -0,0 +1,37 @@
+Index: Slim/Schema.pm
+===================================================================
+--- Slim/Schema.pm (revision 31006)
++++ Slim/Schema.pm (working copy)
+@@ -274,11 +274,15 @@
+ # For custom exceptions
+ $class->storage_type('Slim::Schema::Storage');
+
++ # Don't use autocommit mode for the scanner.
++ # Needs to be set here as setting dbh->{'AutoCommit'} = 0 later
++ # confusing the transaction nesting logic.
++ my $AutoCommit = (main::SCANNER ? 0 : 1);
+ my $on_connect_do = $sqlHelperClass->on_connect_do();
+
+ $class->connection( $dsn || $source, $username, $password, {
+ RaiseError => 1,
+- AutoCommit => 1,
++ AutoCommit => $AutoCommit,
+ PrintError => 0,
+ Taint => 1,
+ on_connect_do => [
+Index: scanner.pl
+===================================================================
+--- scanner.pl (revision 31006)
++++ scanner.pl (working copy)
+@@ -236,9 +236,6 @@
+
+ main::INFOLOG && $log->info("Squeezebox Server Scanner done init...\n");
+
+- # Take the db out of autocommit mode - this makes for a much faster scan.
+- Slim::Schema->storage->dbh->{'AutoCommit'} = 0;
+-
+ my $scanType = 'SETUP_STANDARDRESCAN';
+
+ if ($wipe) {
+
+--------------020502080403070605040408--