--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package golang-github-mattn-go-sqlite3
As reported in #854849 (severity: serious), a function in this package causes a
cgo pointer panic, due to a change in Golang pointer rules after 1.6. Upstream
has solved this issue in a newer release, and this upload is merely a backport
of that (and a typo fix in my name).
The source debdiff is attached.
unblock golang-github-mattn-go-sqlite3/1.1.0~dfsg1-3
-- System Information:
Debian Release: 9.0
APT prefers testing
APT policy: (500, 'testing'), (100, 'unstable'), (50, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog
--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog 2016-10-09 21:51:01.000000000 -0300
+++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog 2017-02-13 07:27:48.000000000 -0300
@@ -1,3 +1,10 @@
+golang-github-mattn-go-sqlite3 (1.1.0~dfsg1-3) unstable; urgency=high
+
+ * Backport commit b76c610 from release 1.2.0 to fix an RC bug. Thanks to
+ Haruki TSURUMOTO for the patch. Closes: #854849
+
+ -- Martín Ferrari <tincho@debian.org> Mon, 13 Feb 2017 07:27:48 -0300
+
golang-github-mattn-go-sqlite3 (1.1.0~dfsg1-2) unstable; urgency=medium
[ Paul Tagliamonte ]
diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control
--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control 2016-10-09 21:51:01.000000000 -0300
+++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control 2017-02-13 07:27:48.000000000 -0300
@@ -3,7 +3,7 @@
Priority: extra
Maintainer: pkg-go <pkg-go-maintainers@lists.alioth.debian.org>
Uploaders: Alexandre Viau <alexandre@alexandreviau.net>,
- Martin Ferrari <tincho@debian.org>,
+ Martín Ferrari <tincho@debian.org>,
Tim Potter <tpot@hpe.com>,
Build-Depends: debhelper (>= 9),
dh-golang,
diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch
--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch 1969-12-31 21:00:00.000000000 -0300
+++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch 2017-02-13 07:27:48.000000000 -0300
@@ -0,0 +1,29 @@
+Description: Use libsqlite3-dev
+Author: Alexandre Viau <alexandre@alexandreviau.net>
+Last-Update: 2015-09-03
+
+--- a/sqlite3-binding.h
++++ b/sqlite3-binding.h
+@@ -1,5 +1 @@
+-#ifndef USE_LIBSQLITE3
+-#include "code/sqlite3-binding.h"
+-#else
+ #include <sqlite3.h>
+-#endif
+--- a/sqlite3-binding.c
++++ /dev/null
+@@ -1,4 +0,0 @@
+-#ifndef USE_LIBSQLITE3
+-# include "code/sqlite3-binding.c"
+-#endif
+-
+--- a/sqlite3_libsqlite3.go
++++ b/sqlite3_libsqlite3.go
+@@ -2,7 +2,6 @@
+ //
+ // Use of this source code is governed by an MIT-style
+ // license that can be found in the LICENSE file.
+-// +build libsqlite3
+
+ package sqlite3
+
diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch
--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch 1969-12-31 21:00:00.000000000 -0300
+++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch 2017-02-13 07:27:48.000000000 -0300
@@ -0,0 +1,21 @@
+This patch fixes cgo's pointer runtime panic
+Ported from https://github.com/mattn/go-sqlite3/commit/b76c61051faaf0baf3215e6f811003d98639b702Index: golang-github-mattn-go-sqlite3-1.1.0~dfsg1/sqlite3.go
+===================================================================
+--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1.orig/sqlite3.go 2015-09-05 23:49:54.000000000 +0900
++++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/sqlite3.go 2017-02-11 14:16:40.738620174 +0900
+@@ -480,11 +480,11 @@
+ case float64:
+ rv = C.sqlite3_bind_double(s.s, n, C.double(v))
+ case []byte:
+- var p *byte
+- if len(v) > 0 {
+- p = &v[0]
++ if len(v) == 0 {
++ rv = C._sqlite3_bind_blob(s.s, n, nil, 0)
++ } else {
++ rv = C._sqlite3_bind_blob(s.s, n, unsafe.Pointer(&v[0]), C.int(len(v)))
+ }
+- rv = C._sqlite3_bind_blob(s.s, n, unsafe.Pointer(p), C.int(len(v)))
+ case time.Time:
+ b := []byte(v.UTC().Format(SQLiteTimestampFormats[0]))
+ rv = C._sqlite3_bind_text(s.s, n, (*C.char)(unsafe.Pointer(&b[0])), C.int(len(b)))
diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series
--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series 2016-10-09 21:51:01.000000000 -0300
+++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series 2017-02-13 07:27:48.000000000 -0300
@@ -1 +1,2 @@
-use-libsqlite3-dev.patch
+01-Use_libsqlite3_dev.patch
+02-Bug#854849_Fix_bind_cgo.patch
diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch
--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch 2016-10-09 21:51:01.000000000 -0300
+++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch 1969-12-31 21:00:00.000000000 -0300
@@ -1,29 +0,0 @@
-Description: Use libsqlite3-dev
-Author: Alexandre Viau <alexandre@alexandreviau.net>
-Last-Update: 2015-09-03
-
---- a/sqlite3-binding.h
-+++ b/sqlite3-binding.h
-@@ -1,5 +1 @@
--#ifndef USE_LIBSQLITE3
--#include "code/sqlite3-binding.h"
--#else
- #include <sqlite3.h>
--#endif
---- a/sqlite3-binding.c
-+++ /dev/null
-@@ -1,4 +0,0 @@
--#ifndef USE_LIBSQLITE3
--# include "code/sqlite3-binding.c"
--#endif
--
---- a/sqlite3_libsqlite3.go
-+++ b/sqlite3_libsqlite3.go
-@@ -2,7 +2,6 @@
- //
- // Use of this source code is governed by an MIT-style
- // license that can be found in the LICENSE file.
--// +build libsqlite3
-
- package sqlite3
-
--- End Message ---