[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#924085: unblock: gnome-keyring/3.28.2-4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package gnome-keyring, primarily to fix RC bug #891297
by updating the copyright file (thanks to Louis-Philippe Véronneau).

I've also included the patches that Iain Lane included in the 3.28.2-3
upload to experimental, which fix build-time test failures (FTBFS) with
GLib 2.59. These are not directly relevant to buster, but the bug that
they fix (assumptions made about hash table order) was always wrong in
principle, and will become significant if we backport bullseye's GLib
during buster's lifetime.

unblock gnome-keyring/3.28.2-4

Thanks,
    smcv
diffstat for gnome-keyring-3.28.2 gnome-keyring-3.28.2

 changelog                                                               |   20 
 control                                                                 |    4 
 control.in                                                              |    2 
 copyright                                                               |  462 ++++++----
 gbp.conf                                                                |    4 
 patches/egg-Write-Proc-Type-header-before-DEK-Info.patch                |   80 +
 patches/gkm-mock-Also-store-objects-in-the-order-they-are-taken.patch   |  229 ++++
 patches/secret-store-Sort-fields-alphabetically-before-outputting.patch |   86 +
 patches/series                                                          |    3 
 9 files changed, 718 insertions(+), 172 deletions(-)

diff -Nru gnome-keyring-3.28.2/debian/changelog gnome-keyring-3.28.2/debian/changelog
--- gnome-keyring-3.28.2/debian/changelog	2018-12-24 14:54:29.000000000 +0000
+++ gnome-keyring-3.28.2/debian/changelog	2019-03-09 12:00:46.000000000 +0000
@@ -1,3 +1,23 @@
+gnome-keyring (3.28.2-4) unstable; urgency=medium
+
+  * Team upload
+  * Select debian/buster and upstream/3.28.x branches
+  * Release to unstable
+
+ -- Simon McVittie <smcv@debian.org>  Sat, 09 Mar 2019 12:00:46 +0000
+
+gnome-keyring (3.28.2-3) experimental; urgency=medium
+
+  [ Louis-Philippe Véronneau ]
+  * Update copyright file (Closes: #891297)
+
+  [ Iain Lane ]
+  * Cherry-pick some upstream patches to fix build failures with GLib 2.59
+    gnome-keyring assumed that hash table iteration order was stable. It's
+    not, and GLib exposed that.
+
+ -- Iain Lane <laney@debian.org>  Fri, 08 Feb 2019 17:46:06 +0000
+
 gnome-keyring (3.28.2-2) unstable; urgency=medium
 
   * Run dh_auto_test instead of make check
diff -Nru gnome-keyring-3.28.2/debian/control gnome-keyring-3.28.2/debian/control
--- gnome-keyring-3.28.2/debian/control	2018-12-24 14:54:29.000000000 +0000
+++ gnome-keyring-3.28.2/debian/control	2019-03-09 12:00:46.000000000 +0000
@@ -6,7 +6,7 @@
 Section: gnome
 Priority: optional
 Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
-Uploaders: Dmitry Shachnev <mitya57@debian.org>, Jeremy Bicha <jbicha@debian.org>, Michael Biebl <biebl@debian.org>, Tim Lunn <tim@feathertop.org>
+Uploaders: Dmitry Shachnev <mitya57@debian.org>, Iain Lane <laney@debian.org>, Jeremy Bicha <jbicha@debian.org>, Tim Lunn <tim@feathertop.org>
 Build-Depends: debhelper (>= 11),
                ca-certificates,
                dbus,
@@ -29,7 +29,7 @@
                python,
 Standards-Version: 4.3.0
 Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-keyring
-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-keyring.git
+Vcs-Git: https://salsa.debian.org/gnome-team/gnome-keyring.git -b debian/buster
 Homepage: https://wiki.gnome.org/GnomeKeyring
 
 Package: gnome-keyring
diff -Nru gnome-keyring-3.28.2/debian/control.in gnome-keyring-3.28.2/debian/control.in
--- gnome-keyring-3.28.2/debian/control.in	2018-12-24 14:54:29.000000000 +0000
+++ gnome-keyring-3.28.2/debian/control.in	2019-03-09 12:00:46.000000000 +0000
@@ -25,7 +25,7 @@
                python,
 Standards-Version: 4.3.0
 Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-keyring
-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-keyring.git
+Vcs-Git: https://salsa.debian.org/gnome-team/gnome-keyring.git -b debian/buster
 Homepage: https://wiki.gnome.org/GnomeKeyring
 
 Package: gnome-keyring
diff -Nru gnome-keyring-3.28.2/debian/copyright gnome-keyring-3.28.2/debian/copyright
--- gnome-keyring-3.28.2/debian/copyright	2018-12-24 14:54:29.000000000 +0000
+++ gnome-keyring-3.28.2/debian/copyright	2019-03-09 12:00:46.000000000 +0000
@@ -1,180 +1,308 @@
-This package was debianized by Ondřej Surý <ondrej@debian.org> on
-Tue, 23 Mar 2004 12:21:43 +0100.
-
-It was downloaded from https://download.gnome.org/sources/gnome-keyring/
-
-Upstream Authors: Alexander Larsson <alexl@redhat.com>
-                  Stef Walter <stef@memberwebs.com>
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: gnome-keyring
+Upstream-Contact: Alexander Larsson <alexl@redhat.com>
+                  Stefan Walter <stef@memberwebs.com>
+Source: https://download.gnome.org/sources/gnome-keyring/
+
+Files: *
+Copyright: 2007-2011, Collabora Ltd
+           1991-1999, Free Software Foundation, Inc
+           2007, Nokia Corporation
+           1995-1997, Peter Mattis, Spencer Kimball and Josh MacDonald
+           2017-2018, Red Hat, Inc
+           2014, Stef Walter
+           2007-2011, Stefan Walter
+           2011, Steve Grubb
+           2010, Yaron Sheffer
+License: GPL-2+
 
-Files: common/*
-       daemon/gkr-daemon-util.*
-       daemon/ui/*
-       egg/*
-       gp11/*
-       library/*
+Files: egg/*
        pam/*
        pkcs11/*
-       pkcs11/roots-store/gck-roots-standalone.*
        pkcs11/rpc-layer/*
-       pkcs11/ssh-store/gck-ssh-standalone.*
-       pkcs11/user-store/gck-user-standalone.*
-       tests/*
-       tools/*
-Copyright: © 2003 Red Hat, Inc
-           © 2007 Nate Nielsen
-           © 2007, 2008 Stefan Walter
-License: LGPL-2+ (/usr/share/common-licenses/LGPL-2)
-   The Gnome Keyring Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The Gnome Keyring Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the Gnome Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 51 Franklin Street, 
-   Fifth Floor, Boston, MA 02110-1301, USA.
-
-Files: egg/egg-secure-entry.c
-Copyright: © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
-License: LGPL-2+ (/usr/share/common-licenses/LGPL-2)
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, write to the
-   write to the Free Software Foundation, Inc., 51 Franklin Street, 
-   Fifth Floor, Boston, MA 02110-1301, USA.
-
-Files: egg/egg-dbus.*
-       egg/egg-unix-credential.*
-Copyright: © 2002, 2003 CodeFactory AB
-           © 2005 Red Hat, Inc.
-License: GPL-2+
-
-Files: daemon/ui/gkr-ask-request.*
-       daemon/ui/gkr-ask-tool-widgets.*
-       daemon/ui/gkr-ask-tool.*
-       pkcs11/ssh-agent/*
-Copyright: © 2003 Red Hat, Inc
-           © 2007 Stefan Walter
-License: GPL-2+
-   Gnome keyring is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   Gnome keyring is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   write to the Free Software Foundation, Inc., 51 Franklin Street, 
-   Fifth Floor, Boston, MA 02110-1301, USA.
+Copyright: 2003 Red Hat, Inc
+           2007 Nate Nielsen
+           2007-2008 Stefan Walter
+License: LGPL-2+
+
+Files: pkcs11/gkm/gkm-debug.*
+Copyright: 2007 Nokia Corporation
+           2007 Collabora Ltd.
+License: LGPL-2.1+
+
+Files: egg/egg-asn1x.c
+Copyright: 2002 Fabio Fiorina
+           2004-2009 Free Software Foundation, Inc
+           2009 Stefan Walter
+License: GPL-2+
+
+Files: egg/egg-unix-credentials.*
+Copyright: 2008 Stefan Walter
+License: BSD-3-clause
+
+Files: egg/dotlock.*
+Copyright: 1998-2011 Free Software Foundation, Inc
+License: BSD-3-clause and GPL-2+ or LGPL-3+
 
-Files: daemon/pkcs11/*
-       egg/egg-hex.*
+Files: egg/egg-hex.*
        egg/egg-libgcrypt.*
        egg/egg-symkey.*
-       gcr/*
-       pkcs11/gck/*
-       pkcs11/plex-layer/*
-       pkcs11/roots-store/*
        pkcs11/ssh-store/*
-       pkcs11/user-store/*
-Copyright: © 2008 Stefan Walter
-License: LGPL-2.1+ (/usr/share/common-licenses/LGPL-2.1)
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of
-   the License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General  License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this program; if not, write to the Free Software
-   write to the Free Software Foundation, Inc., 51 Franklin Street, 
-   Fifth Floor, Boston, MA 02110-1301, USA.
+Copyright: 2008 Stefan Walter
+License: LGPL-2.1+
+
+Files: daemon/*
+Copyright: 2003 Red Hat, Inc
+           2007 Stefan Walter
+License: GPL-2+
+
+Files: daemon/gkd-capability.c
+Copyright: 2011 Steve Grubb
+License: LGPL-2.1+
+
+Files: daemon/gkd-capability.h
+Copyright: 2010 Yaron Sheffer
+License: LGPL-2.1+
 
 Files: pkcs11/pkcs11.h
-Copyright: © 2006, 2007 g10 Code GmbH
-           © 2006 Andreas Jellinghaus
-License:
-   This file is free software; as a special exception the author gives
-   unlimited permission to copy and/or distribute it, with or without
-   modifications, as long as this notice is preserved.
-
-   This file is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY, to the extent permitted by law; without even
-   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-   PURPOSE.
+Copyright: 2006, 2007 g10 Code GmbH
+           2006 Andreas Jellinghaus
+License: custom-license
+ This file is free software; as a special exception the author gives
+ unlimited permission to copy and/or distribute it, with or without
+ modifications, as long as this notice is preserved.
+ .
+ This file is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, to the extent permitted by law; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE.
 
 Files: pkcs11/pkcs11n.h
-Copyright: © 1994-2000 Netscape Communications Corporation
-License: MPL-1.1 | GPL-2+ | LGPL-2.1+ (/usr/share/common-licenses/LGPL-2.1)
-   The contents of this file are subject to the Mozilla Public License Version
-   1.1 (the "License"); you may not use this file except in compliance with
-   the License. You may obtain a copy of the License at
-   https://www.mozilla.org/MPL/
-
-   Software distributed under the License is distributed on an "AS IS" basis,
-   WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-   for the specific language governing rights and limitations under the
-   License.
-
-   The Original Code is the Netscape security libraries.
-
-   The Initial Developer of the Original Code is
-   Netscape Communications Corporation.
-   Portions created by the Initial Developer are Copyright (C) 1994-2000
-   the Initial Developer. All Rights Reserved.
-
-   Contributor(s):
-     Dr Stephen Henson <stephen.henson@gemplus.com>
-
-   Alternatively, the contents of this file may be used under the terms of
-   either the GNU General Public License Version 2 or later (the "GPL"), or
-   the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-   in which case the provisions of the GPL or the LGPL are applicable instead
-   of those above. If you wish to allow use of your version of this file only
-   under the terms of either the GPL or the LGPL, and not to allow others to
-   use your version of this file under the terms of the MPL, indicate your
-   decision by deleting the provisions above and replace them with the notice
-   and other provisions required by the GPL or the LGPL. If you do not delete
-   the provisions above, a recipient may use your version of this file under
-   the terms of any one of the MPL, the GPL or the LGPL.
+Copyright: 1994-2000 Netscape Communications Corporation
+License: MPL-1.1 or GPL-2+ or LGPL-2.1+
 
-Files: daemon/*
-Copyright: © 2003 Red Hat, Inc
-           © 2007 Stefan Walter
-License: GPL2+ (/usr/share/common-licenses/GPL-2)
-   Gnome keyring is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   Gnome keyring is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   write to the Free Software Foundation, Inc., 51 Franklin Street, 
-   Fifth Floor, Boston, MA 02110-1301, USA.
+Files: po/*
+Copyright: 2003, Red Hat Inc
+           2003-2017, Free Software Foundation, Inc
+           2004, Mətin Əmirov
+           2004-2006, Miloslav Trmac <mitr@volny.cz>
+           2005-2011, Rosetta Contributors and Canonical Ltd
+           2006, Ubuntu Georgian Translators
+           2007-2011, The GNOME Foundation
+           2007-2012, Swecha Telugu Localisation Team <localization@swecha.net>
+           2009-2012, Krasimir Chonov <mk2616@abv.bg>
+           2010, Fran Diéguez
+           2011, Gnome Telugu Contributors
+           2011, Iranian Free Software Users Group Translation Team
+           2015, GNOME i18n Project for Vietnamese
+License: GPL-2+
+
+Files: build/compile
+       build/depcomp
+       build/missing
+       build/test-driver
+Copyright: 1996-2017, Free Software Foundation, Inc
+License: GPL-2+ with AutoConf exception
+
+Files: INSTALL
+       po/Makefile.in.in
+Copyright: 1994-2013, Free Software Foundation, Inc
+           1995-2010, Ulrich Drepper <drepper@gnu.ai.mit.edu>
+License: FSFAP
+
+Files: Makefile.in
+       build/config.rpath
+       build/m4/*
+Copyright: 1994-2017, Free Software Foundation, Inc
+License: FSFULLR
+
+Files: COPYING
+       daemon/gkd-main.c
+       daemon/ssh-agent/gkd-ssh-agent-private.h
+       pkcs11/secret-store/dump-keyring0-format.c
+       pkcs11/secret-store/gkm-secret-binary.c
+Copyright: 1989-1991, Free Software Foundation, Inc
+           2003-2013, Red Hat, Inc
+           2007-2009, Stefan Walter
+License: GPL-2+
+
+Files: build/config.guess
+       build/config.sub
+Copyright: 1992-2017, Free Software Foundation, Inc
+License: GPL-3+ with AutoConf exception
+
+Files: build/tap-driver
+       build/tap-gtester
+Copyright: 2013-2014, Red Hat, Inc
+License: LGPL-2.1+
+
+Files: tool/gkr-tool*
+Copyright: 2008-2010, Stefan Walter
+           2011, Collabora Ltd.
+License: GPL-2+
+
+Files: aclocal.m4
+Copyright: 1996-2017, Free Software Foundation, Inc
+           2002-2014, g10 Code GmbH
+           2004, Scott James Remnant <scott@netsplit.com>
+					 2012-2015, Dan Nicholson <dbn.lists@gmail.com>
+License: FSFULLR or GPL-2+ with AutoConf exception
+
+Files: build/ltmain.sh
+Copyright: 1996-2015, Free Software Foundation, Inc
+License: GPL-2+ with LibTool exception
+
+Files: build/m4/libtool.m4
+Copyright: 1996-2015, Free Software Foundation, Inc
+License: FSFULLR or GPL-2+ with LibTool exception
+
+Files: build/install-sh
+Copyright: 1994, X Consortium
+License: Expat
+
+Files: configure
+Copyright: 1992-2012, Free Software Foundation, Inc
+License: FSFUL
+
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+  3. Neither the name of the Institute nor the names of its contributors
+     may be used to endorse or promote products derived from this software
+     without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: FSFAP
+ Copying and distribution of this file, with or without modification, are
+ permitted in any medium without royalty provided the copyright notice and
+ this notice are preserved. This file is offered as-is, without any
+ warranty.
+
+License: FSFUL
+ This configure script is free software; the Free Software Foundation gives
+ unlimited permission to copy, distribute and modify it.
+
+License: FSFULLR
+ This file is free software; the Free Software Foundation gives unlimited
+ permission to copy and/or distribute it, with or without modifications, as
+ long as this notice is preserved.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 2 of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL-2'.
+
+License: GPL-2+ with LibTool exception
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 2 of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL-2'.
+ .
+ As a special exception to the GNU General Public License,
+ if you distribute this file as part of a program or library that
+ is built using GNU Libtool, you may include this file under the
+ same distribution terms that you use for the rest of that program.
+
+License: GPL-2+ with AutoConf exception
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 2 of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL-2'.
+ .
+ As a special exception to the GNU General Public License, if you
+ distribute this file as part of a program that contains a
+ configuration script generated by Autoconf, you may include it under
+ the same distribution terms that you use for the rest of that program.
+
+License: GPL-3+ with AutoConf exception
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 3, or (at your option) any
+ later version.
+ .
+ On Debian systems, the complete text of version 3 of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL-3'.
+ .
+ As a special exception to the GNU General Public License, if you
+ distribute this file as part of a program that contains a
+ configuration script generated by Autoconf, you may include it under
+ the same distribution terms that you use for the rest of that program.
+
+License: LGPL-2+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; version 2 of the License, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 2 of the GNU Lesser
+ General Public License can be found in `/usr/share/common-licenses/LGPL-2'.
+
+License: LGPL-2.1+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; version 2.1 of the License, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 2.1 of the GNU Lesser
+ General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'.
+
+License: LGPL-3+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; version 3 of the License, or (at
+ your option) any later version.
+ .
+ On Debian systems, the complete text of version 3 of the GNU Lesser
+ General Public License can be found in `/usr/share/common-licenses/LGPL-3'.
+
+License: MPL-1.1
+ The complete text of the Mozilla Public License 1.1 can be found in
+ the file `/usr/share/common-licenses/MPL-1.1'.
diff -Nru gnome-keyring-3.28.2/debian/gbp.conf gnome-keyring-3.28.2/debian/gbp.conf
--- gnome-keyring-3.28.2/debian/gbp.conf	2018-12-24 14:54:29.000000000 +0000
+++ gnome-keyring-3.28.2/debian/gbp.conf	2019-03-09 12:00:46.000000000 +0000
@@ -1,5 +1,5 @@
 [DEFAULT]
 pristine-tar = True
-debian-branch=debian/master
-upstream-branch=upstream/latest
+debian-branch = debian/buster
+upstream-branch = upstream/3.28.x
 upstream-vcs-tag = %(version)s
diff -Nru gnome-keyring-3.28.2/debian/patches/egg-Write-Proc-Type-header-before-DEK-Info.patch gnome-keyring-3.28.2/debian/patches/egg-Write-Proc-Type-header-before-DEK-Info.patch
--- gnome-keyring-3.28.2/debian/patches/egg-Write-Proc-Type-header-before-DEK-Info.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-keyring-3.28.2/debian/patches/egg-Write-Proc-Type-header-before-DEK-Info.patch	2019-03-09 12:00:46.000000000 +0000
@@ -0,0 +1,80 @@
+From: Iain Lane <iainl@gnome.org>
+Date: Mon, 28 Jan 2019 14:38:40 +0000
+Subject: egg: Write Proc-Type header before DEK-Info
+
+These headers (at least for OpenSSL) must come in this order. We
+shouldn't assume that `g_hash_table_foreach` is going to give a
+particular ordering - it's not guaranteed, and has changed with GLib
+2.59.
+
+Fixes #21
+
+Origin: upstream, commit:23fdfe728a27a01ef50affd849be5188c0cda954
+Applied-Upstream: 3.29
+---
+ egg/egg-armor.c | 26 +++++++++++++++++++++-----
+ 1 file changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/egg/egg-armor.c b/egg/egg-armor.c
+index 267cc87..a02bb6f 100644
+--- a/egg/egg-armor.c
++++ b/egg/egg-armor.c
+@@ -59,6 +59,8 @@ EGG_SECURE_DECLARE (armor);
+ #define ARMOR_PREF_END      "-----END "
+ #define ARMOR_PREF_END_L    9
+ 
++static const gchar * const ORDERED_HEADERS[] = { "Proc-Type", "DEK-Info", NULL };
++
+ static void
+ parse_header_lines (const gchar *hbeg,
+                     const gchar *hend,
+@@ -336,13 +338,16 @@ egg_armor_parse (GBytes *data,
+ }
+ 
+ static void
+-append_each_header (gpointer key, gpointer value, gpointer user_data)
++append_each_header (gconstpointer key, gconstpointer value, gpointer user_data)
+ {
+ 	GString *string = (GString*)user_data;
+ 
+-	g_string_append (string, (gchar*)key);
++	if (g_strv_contains (ORDERED_HEADERS, (const gchar *) key))
++		return;
++
++	g_string_append (string, (const gchar *)key);
+ 	g_string_append (string, ": ");
+-	g_string_append (string, (gchar*)value);
++	g_string_append (string, (const gchar *)value);
+ 	g_string_append_c (string, '\n');
+ }
+ 
+@@ -357,6 +362,7 @@ egg_armor_write (const guchar *data,
+ 	gint state, save;
+ 	gsize i, length;
+ 	gsize n_prefix, estimate;
++	gchar *value;
+ 
+ 	g_return_val_if_fail (data || !n_data, NULL);
+ 	g_return_val_if_fail (type, NULL);
+@@ -370,9 +376,19 @@ egg_armor_write (const guchar *data,
+ 	g_string_append_len (string, ARMOR_SUFF, ARMOR_SUFF_L);
+ 	g_string_append_c (string, '\n');
+ 
+-	/* The headers */
++	/* The headers. Some must come in a specific order. */
++	for (i = 0; ORDERED_HEADERS[i] != NULL; i++) {
++		value = g_hash_table_lookup (headers, ORDERED_HEADERS[i]);
++		if (value != NULL)
++			g_string_append_printf (string,
++			                        "%s: %s\n",
++			                        ORDERED_HEADERS[i],
++			                        value);
++	}
++
++	/* And the rest we output in any arbitrary order. */
+ 	if (headers && g_hash_table_size (headers) > 0) {
+-		g_hash_table_foreach (headers, append_each_header, string);
++		g_hash_table_foreach (headers, (GHFunc) append_each_header, string);
+ 		g_string_append_c (string, '\n');
+ 	}
+ 
diff -Nru gnome-keyring-3.28.2/debian/patches/gkm-mock-Also-store-objects-in-the-order-they-are-taken.patch gnome-keyring-3.28.2/debian/patches/gkm-mock-Also-store-objects-in-the-order-they-are-taken.patch
--- gnome-keyring-3.28.2/debian/patches/gkm-mock-Also-store-objects-in-the-order-they-are-taken.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-keyring-3.28.2/debian/patches/gkm-mock-Also-store-objects-in-the-order-they-are-taken.patch	2019-03-09 12:00:46.000000000 +0000
@@ -0,0 +1,229 @@
+From: Iain Lane <iainl@gnome.org>
+Date: Wed, 30 Jan 2019 14:34:51 +0000
+Subject: gkm-mock: Also store objects in the order they are taken
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 8bit
+
+With GLib 2.59, the `test-login-auto` test fails:
+
+  Gcr-CRITICAL **: 14:34:24.126: expected prompt property 'choice-label'
+  to be "Automatically unlock this keyring whenever I\342\200\231m
+  logged in", but it is instead ""
+
+This is because, in `mock_secret_C_Initialize()` we assign two sets of
+fields to the mock module, one with `CKA_G_LOGIN_COLLECTION` → `CK_TRUE`
+and one with it pointing to `CK_FALSE`.
+
+This variable is used to decide, via `is_login_keyring()`, whether to call
+`setup_unlock_keyring_login()` or `setup_unlock_keyring_other()`. The
+first one sets `choice-label` to the empty string. The second one is
+what we want, and upgrading GLib made it flip.
+
+The reason is the same as the previous two fixes: the mock-secret-store
+expects to be able to insert items into a hash table and then iterate it
+and get them out in the same order. That was never guaranteed, and now
+doesn't happen.
+
+Let's keep a parallel list which keeps track of the order things were
+added. And then instead of iterating the hash table, we iterate this
+list.
+
+Closes #21
+
+Origin: upstream, commit:7aba0e6aadd75fc688bf7f086a620e4dc41da6d0
+Applied-Upstream: 3.29
+---
+ pkcs11/gkm/gkm-mock.c                   | 67 ++++++++++++++++++++++++++++-----
+ pkcs11/secret-store/gkm-secret-fields.c |  4 +-
+ 2 files changed, 58 insertions(+), 13 deletions(-)
+
+diff --git a/pkcs11/gkm/gkm-mock.c b/pkcs11/gkm/gkm-mock.c
+index 7f4ba06..b8ab5e0 100644
+--- a/pkcs11/gkm/gkm-mock.c
++++ b/pkcs11/gkm/gkm-mock.c
+@@ -72,6 +72,7 @@ typedef struct _Session {
+ static guint unique_identifier = 100;
+ static GHashTable *the_sessions = NULL;
+ static GHashTable *the_objects = NULL;
++static GSList *the_objects_list = NULL;
+ static GArray *the_credential_template = NULL;
+ 
+ enum {
+@@ -102,6 +103,39 @@ lookup_object (Session *session, CK_OBJECT_HANDLE hObject)
+ 	return attrs;
+ }
+ 
++typedef struct {
++	guint handle;
++	GArray *template; /* owned by the_objects */
++} ObjectData;
++
++static gint
++list_find_handle (gconstpointer l, gconstpointer r)
++{
++	guint handle;
++	ObjectData *item;
++
++	handle = GPOINTER_TO_UINT (r);
++	item = (ObjectData *) l;
++
++	if (item->handle == handle)
++		return 0;
++
++	return -1;
++}
++
++static void
++insert_template (guint handle, GArray *template)
++{
++	ObjectData *data;
++
++	data = g_new0 (ObjectData, 1);
++	data->handle = handle;
++	data->template = template;
++
++	g_hash_table_insert (the_objects, GUINT_TO_POINTER (handle), template);
++	the_objects_list = g_slist_append (the_objects_list, data);
++}
++
+ CK_OBJECT_HANDLE
+ gkm_mock_module_take_object (GArray *template)
+ {
+@@ -115,7 +149,7 @@ gkm_mock_module_take_object (GArray *template)
+ 		g_return_val_if_fail (token == TRUE, 0);
+ 	else
+ 		gkm_template_set_boolean (template, CKA_TOKEN, CK_TRUE);
+-	g_hash_table_insert (the_objects, GUINT_TO_POINTER (handle), template);
++	insert_template (handle, template);
+ 	return handle;
+ }
+ 
+@@ -127,14 +161,16 @@ gkm_mock_module_enumerate_objects (CK_SESSION_HANDLE handle, GkmMockEnumerator f
+ 	gpointer key;
+ 	gpointer value;
+ 	Session *session;
++	ObjectData *data;
++	GSList *l = NULL;
+ 
+ 	g_assert (the_objects);
+ 	g_assert (func);
+ 
+ 	/* Token objects */
+-	g_hash_table_iter_init (&iter, the_objects);
+-	while (g_hash_table_iter_next (&iter, &key, &value)) {
+-		if (!(func) (GPOINTER_TO_UINT (key), value, user_data))
++	for (l = the_objects_list; l != NULL; l = l->next) {
++		data = (ObjectData *) l->data;
++		if (!(func) (data->handle, data->template, user_data))
+ 			return;
+ 	}
+ 
+@@ -267,7 +303,7 @@ gkm_mock_C_Initialize (CK_VOID_PTR pInitArgs)
+ 	attrs = gkm_template_new (NULL, 0);
+ 	gkm_template_set_ulong (attrs, CKA_CLASS, CKO_DATA);
+ 	gkm_template_set_string (attrs, CKA_LABEL, "TEST LABEL");
+-	g_hash_table_insert (the_objects, GUINT_TO_POINTER (2), attrs);
++	insert_template (2, attrs);
+ 
+ 	/* Private capitalize key */
+ 	value = CKM_MOCK_CAPITALIZE;
+@@ -282,7 +318,7 @@ gkm_mock_C_Initialize (CK_VOID_PTR pInitArgs)
+ 	gkm_template_set_boolean (attrs, CKA_DERIVE, CK_TRUE);
+ 	gkm_template_set_string (attrs, CKA_VALUE, "value");
+ 	gkm_template_set_string (attrs, CKA_GNOME_UNIQUE, "unique1");
+-	g_hash_table_insert (the_objects, GUINT_TO_POINTER (PRIVATE_KEY_CAPITALIZE), attrs);
++	insert_template (PRIVATE_KEY_CAPITALIZE, attrs);
+ 
+ 	/* Public capitalize key */
+ 	value = CKM_MOCK_CAPITALIZE;
+@@ -294,7 +330,7 @@ gkm_mock_C_Initialize (CK_VOID_PTR pInitArgs)
+ 	gkm_template_set_boolean (attrs, CKA_PRIVATE, CK_FALSE);
+ 	gkm_template_set_string (attrs, CKA_VALUE, "value");
+ 	gkm_template_set_string (attrs, CKA_GNOME_UNIQUE, "unique2");
+-	g_hash_table_insert (the_objects, GUINT_TO_POINTER (PUBLIC_KEY_CAPITALIZE), attrs);
++	insert_template (PUBLIC_KEY_CAPITALIZE, attrs);
+ 
+ 	/* Private prefix key */
+ 	value = CKM_MOCK_PREFIX;
+@@ -307,7 +343,7 @@ gkm_mock_C_Initialize (CK_VOID_PTR pInitArgs)
+ 	gkm_template_set_boolean (attrs, CKA_ALWAYS_AUTHENTICATE, CK_TRUE);
+ 	gkm_template_set_string (attrs, CKA_VALUE, "value");
+ 	gkm_template_set_string (attrs, CKA_GNOME_UNIQUE, "unique3");
+-	g_hash_table_insert (the_objects, GUINT_TO_POINTER (PRIVATE_KEY_PREFIX), attrs);
++	insert_template (PRIVATE_KEY_PREFIX, attrs);
+ 
+ 	/* Private prefix key */
+ 	value = CKM_MOCK_PREFIX;
+@@ -319,7 +355,7 @@ gkm_mock_C_Initialize (CK_VOID_PTR pInitArgs)
+ 	gkm_template_set_boolean (attrs, CKA_PRIVATE, CK_FALSE);
+ 	gkm_template_set_string (attrs, CKA_VALUE, "value");
+ 	gkm_template_set_string (attrs, CKA_GNOME_UNIQUE, "unique4");
+-	g_hash_table_insert (the_objects, GUINT_TO_POINTER (PUBLIC_KEY_PREFIX), attrs);
++	insert_template (PUBLIC_KEY_PREFIX, attrs);
+ 
+ 	initialized = TRUE;
+ 	return CKR_OK;
+@@ -336,6 +372,9 @@ gkm_mock_C_Finalize (CK_VOID_PTR pReserved)
+ 	g_hash_table_destroy (the_objects);
+ 	the_objects = NULL;
+ 
++	g_slist_free_full (the_objects_list, g_free);
++	the_objects_list = NULL;
++
+ 	g_hash_table_destroy (the_sessions);
+ 	the_sessions = NULL;
+ 
+@@ -802,7 +841,7 @@ gkm_mock_C_CreateObject (CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate,
+ 
+ 	*phObject = ++unique_identifier;
+ 	if (gkm_template_find_boolean (attrs, CKA_TOKEN, &token) && token)
+-		g_hash_table_insert (the_objects, GUINT_TO_POINTER (*phObject), attrs);
++		insert_template (*phObject, attrs);
+ 	else
+ 		g_hash_table_insert (session->objects, GUINT_TO_POINTER (*phObject), attrs);
+ 
+@@ -822,6 +861,7 @@ gkm_mock_C_DestroyObject (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)
+ {
+ 	GArray *attrs;
+ 	Session *session;
++	GSList *list;
+ 	gboolean priv;
+ 
+ 	session = g_hash_table_lookup (the_sessions, GUINT_TO_POINTER (hSession));
+@@ -836,6 +876,13 @@ gkm_mock_C_DestroyObject (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)
+ 	}
+ 
+ 	g_hash_table_remove (the_objects, GUINT_TO_POINTER (hObject));
++	do {
++		list = g_slist_find_custom (the_objects_list, GUINT_TO_POINTER (hObject), list_find_handle);
++		if (list != NULL) {
++			g_free (list->data);
++			the_objects_list = g_slist_delete_link (the_objects_list, list);
++		}
++	} while (list != NULL);
+ 	g_hash_table_remove (session->objects, GUINT_TO_POINTER (hObject));
+ 
+ 	return CKR_OK;
+diff --git a/pkcs11/secret-store/gkm-secret-fields.c b/pkcs11/secret-store/gkm-secret-fields.c
+index 95558c1..7e4559c 100644
+--- a/pkcs11/secret-store/gkm-secret-fields.c
++++ b/pkcs11/secret-store/gkm-secret-fields.c
+@@ -244,8 +244,7 @@ gkm_secret_fields_serialize (CK_ATTRIBUTE_PTR attr,
+ 			attr->ulValueLen += strlen (schema_name);
+ 			attr->ulValueLen += 2;
+ 		}
+-		if (keys != NULL)
+-			g_list_free (keys);
++		g_list_free (keys);
+ 		return CKR_OK;
+ 	}
+ 
+@@ -269,7 +268,6 @@ gkm_secret_fields_serialize (CK_ATTRIBUTE_PTR attr,
+ 
+ 	rv = gkm_attribute_set_data (attr, result->str, result->len);
+ 	g_string_free (result, TRUE);
+-	if (keys != NULL)
+ 	g_list_free (keys);
+ 
+ 	return rv;
diff -Nru gnome-keyring-3.28.2/debian/patches/secret-store-Sort-fields-alphabetically-before-outputting.patch gnome-keyring-3.28.2/debian/patches/secret-store-Sort-fields-alphabetically-before-outputting.patch
--- gnome-keyring-3.28.2/debian/patches/secret-store-Sort-fields-alphabetically-before-outputting.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-keyring-3.28.2/debian/patches/secret-store-Sort-fields-alphabetically-before-outputting.patch	2019-03-09 12:00:46.000000000 +0000
@@ -0,0 +1,86 @@
+From: Iain Lane <iainl@gnome.org>
+Date: Wed, 30 Jan 2019 14:27:12 +0000
+Subject: secret-store: Sort fields alphabetically before outputting
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 8bit
+
+The assumption that we'd get values out of a hash table in the same
+order we put them in stopped holding with GLib 2.59:
+
+  ERROR:…/gnome-keyring/pkcs11/secret-store/test-secret-item.c:379:test_fields_attr:
+  assertion failed: (memcmp (buffer, "name1\0value1\0name2\0value2", 26)
+  == 0)
+
+Let's ensure a consistent order by sorting the fields before returning
+them.
+
+Closes #21.
+
+Origin: upstream, commit:3091bf66c07f8df66876ecc7832371170743b052
+Applied-Upstream: 3.29
+---
+ pkcs11/secret-store/gkm-secret-fields.c | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+diff --git a/pkcs11/secret-store/gkm-secret-fields.c b/pkcs11/secret-store/gkm-secret-fields.c
+index 9cf7417..95558c1 100644
+--- a/pkcs11/secret-store/gkm-secret-fields.c
++++ b/pkcs11/secret-store/gkm-secret-fields.c
+@@ -214,9 +214,9 @@ gkm_secret_fields_serialize (CK_ATTRIBUTE_PTR attr,
+                              GHashTable *fields,
+                              const gchar *schema_name)
+ {
+-	GHashTableIter iter;
++	GList *l, *keys;
+ 	gboolean saw_schema = FALSE;
+-	gpointer key;
++	const gchar *key;
+ 	gpointer value;
+ 	GString *result;
+ 	CK_RV rv;
+@@ -224,10 +224,15 @@ gkm_secret_fields_serialize (CK_ATTRIBUTE_PTR attr,
+ 	g_assert (attr != NULL);
+ 	g_assert (fields != NULL);
+ 
++	keys = g_hash_table_get_keys (fields);
++	keys = g_list_sort (keys, (GCompareFunc) g_strcmp0);
++
+ 	if (!attr->pValue) {
+ 		attr->ulValueLen = 0;
+-		g_hash_table_iter_init (&iter, fields);
+-		while (g_hash_table_iter_next (&iter, &key, &value)) {
++		for (l = keys; l != NULL; l = l->next) {
++			key = (const gchar *) l->data;
++			value = g_hash_table_lookup (fields, key);
++
+ 			if (g_str_equal (key, GKM_SECRET_FIELD_SCHEMA))
+ 				saw_schema = TRUE;
+ 			attr->ulValueLen += strlen (key);
+@@ -239,12 +244,15 @@ gkm_secret_fields_serialize (CK_ATTRIBUTE_PTR attr,
+ 			attr->ulValueLen += strlen (schema_name);
+ 			attr->ulValueLen += 2;
+ 		}
++		if (keys != NULL)
++			g_list_free (keys);
+ 		return CKR_OK;
+ 	}
+ 
+ 	result = g_string_sized_new (256);
+-	g_hash_table_iter_init (&iter, fields);
+-	while (g_hash_table_iter_next (&iter, &key, &value)) {
++	for (l = keys; l != NULL; l = l->next) {
++		key = (const gchar *) l->data;
++		value = g_hash_table_lookup (fields, key);
+ 		if (g_str_equal (key, GKM_SECRET_FIELD_SCHEMA))
+ 			saw_schema = TRUE;
+ 		g_string_append (result, key);
+@@ -261,6 +269,8 @@ gkm_secret_fields_serialize (CK_ATTRIBUTE_PTR attr,
+ 
+ 	rv = gkm_attribute_set_data (attr, result->str, result->len);
+ 	g_string_free (result, TRUE);
++	if (keys != NULL)
++	g_list_free (keys);
+ 
+ 	return rv;
+ }
diff -Nru gnome-keyring-3.28.2/debian/patches/series gnome-keyring-3.28.2/debian/patches/series
--- gnome-keyring-3.28.2/debian/patches/series	2018-12-24 14:54:29.000000000 +0000
+++ gnome-keyring-3.28.2/debian/patches/series	2019-03-09 12:00:46.000000000 +0000
@@ -1,2 +1,5 @@
 03_kfreebsd.patch
 05_skip-known-test-failures.patch
+egg-Write-Proc-Type-header-before-DEK-Info.patch
+secret-store-Sort-fields-alphabetically-before-outputting.patch
+gkm-mock-Also-store-objects-in-the-order-they-are-taken.patch

Reply to: