summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2010-06-13 18:43:22 +0000
committerPacho Ramos <pacho@gentoo.org>2010-06-13 18:43:22 +0000
commit65857b1ca083134b9897d64226bb6d3585551532 (patch)
tree26b4dc2808f4c8b76c4176e2c8e338d542e65891 /gnome-base/gnome-keyring
parentSet SUPPORT_PYTHON_ABIS. (diff)
downloadgentoo-2-65857b1ca083134b9897d64226bb6d3585551532.tar.gz
gentoo-2-65857b1ca083134b9897d64226bb6d3585551532.tar.bz2
gentoo-2-65857b1ca083134b9897d64226bb6d3585551532.zip
Add new version for Gnome 2.30
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'gnome-base/gnome-keyring')
-rw-r--r--gnome-base/gnome-keyring/ChangeLog12
-rw-r--r--gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-dbus-activation.patch40
-rw-r--r--gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-password-less-login.patch120
-rw-r--r--gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-service-creation.patch21
-rw-r--r--gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-uninitialized-value.patch23
-rw-r--r--gnome-base/gnome-keyring/gnome-keyring-2.30.1-r1.ebuild (renamed from gnome-base/gnome-keyring/gnome-keyring-2.28.1.ebuild)28
6 files changed, 238 insertions, 6 deletions
diff --git a/gnome-base/gnome-keyring/ChangeLog b/gnome-base/gnome-keyring/ChangeLog
index 95126d3e5d46..6d0e9f0b87ea 100644
--- a/gnome-base/gnome-keyring/ChangeLog
+++ b/gnome-base/gnome-keyring/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for gnome-base/gnome-keyring
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-keyring/ChangeLog,v 1.170 2010/06/04 20:06:50 maekke Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-keyring/ChangeLog,v 1.171 2010/06/13 18:43:22 pacho Exp $
+
+*gnome-keyring-2.30.1-r1 (13 Jun 2010)
+
+ 13 Jun 2010; Pacho Ramos <pacho@gentoo.org> -gnome-keyring-2.28.1.ebuild,
+ +gnome-keyring-2.30.1-r1.ebuild,
+ +files/gnome-keyring-2.30.1-dbus-activation.patch,
+ +files/gnome-keyring-2.30.1-password-less-login.patch,
+ +files/gnome-keyring-2.30.1-service-creation.patch,
+ +files/gnome-keyring-2.30.1-uninitialized-value.patch:
+ Add new version for Gnome 2.30, clean old version.
04 Jun 2010; Markus Meier <maekke@gentoo.org> gnome-keyring-2.28.2.ebuild:
x86 stable, bug #314899
diff --git a/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-dbus-activation.patch b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-dbus-activation.patch
new file mode 100644
index 000000000000..a4feee987662
--- /dev/null
+++ b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-dbus-activation.patch
@@ -0,0 +1,40 @@
+From b36d6beeb2fa430210c8a2aa19f772bd75325e42 Mon Sep 17 00:00:00 2001
+From: Rob Bradford <rob@linux.intel.com>
+Date: Wed, 14 Apr 2010 18:12:41 +0000
+Subject: Add dbus activation service file for org.freedesktop.secrets
+
+Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=611002
+---
+diff --git a/daemon/Makefile.am b/daemon/Makefile.am
+index be96523..4c95b5a 100644
+--- a/daemon/Makefile.am
++++ b/daemon/Makefile.am
+@@ -54,14 +54,16 @@ gnome_keyring_daemon_LDADD = \
+
+ EXTRA_DIST = \
+ org.gnome.keyring.service.in \
++ org.freedesktop.secrets.service.in \
+ $(desktop_in_files)
+
+ CLEANFILES = \
+ org.gnome.keyring.service \
++ org.freedesktop.service \
+ $(desktop_DATA)
+
+ servicedir = $(DBUS_SERVICES_DIR)
+-service_in_files = org.gnome.keyring.service.in
++service_in_files = org.gnome.keyring.service.in org.freedesktop.secrets.service.in
+ service_DATA = $(service_in_files:.service.in=.service)
+ service_PATH = $(VALGRIND_RUN)$(bindir)
+
+diff --git a/daemon/org.freedesktop.secrets.service.in b/daemon/org.freedesktop.secrets.service.in
+new file mode 100644
+index 0000000..d4db713
+--- a/dev/null
++++ b/daemon/org.freedesktop.secrets.service.in
+@@ -0,0 +1,3 @@
++[D-BUS Service]
++Name=org.freedesktop.secrets
++Exec=@PATH@/gnome-keyring-daemon --start --foreground --components=secrets
+--
+cgit v0.8.3.1
diff --git a/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-password-less-login.patch b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-password-less-login.patch
new file mode 100644
index 000000000000..d4e770f5e067
--- /dev/null
+++ b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-password-less-login.patch
@@ -0,0 +1,120 @@
+From 28f19c9b4cdc2fa3cfc0aa25f34760aee3c3c802 Mon Sep 17 00:00:00 2001
+From: Stef Walter <stef@memberwebs.com>
+Date: Sun, 23 May 2010 16:19:39 +0000
+Subject: Fix broken startup when used with gdm and password-less login.
+
+Fixes bug #611002
+---
+diff --git a/daemon/gkd-main.c b/daemon/gkd-main.c
+index 6ac0b65..55790eb 100644
+--- a/daemon/gkd-main.c
++++ b/daemon/gkd-main.c
+@@ -396,7 +396,7 @@ read_login_password (int fd)
+ /*
+ * When --login is specified then the login password is passed
+ * in on stdin. All data (including newlines) are part of the
+- * password.
++ * password. A zero length password is no password.
+ */
+
+ gchar *buf = egg_secure_alloc (MAX_BLOCK);
+@@ -412,17 +412,15 @@ read_login_password (int fd)
+ egg_secure_free (buf);
+ return NULL;
+
+- } else {
+- char *n = egg_secure_realloc (ret, len + r + 1);
+- memset(n + len, 0, r + 1);
+- ret = n;
+- len = len + r;
++ } else if (r == 0 || len > MAX_LENGTH) {
++ break;
+
++ } else {
++ ret = egg_secure_realloc (ret, len + r + 1);
++ memset (ret + len, 0, r + 1);
++ len = len + r;
+ strncat (ret, buf, r);
+ }
+-
+- if (r == 0 || len > MAX_LENGTH)
+- break;
+ }
+
+ egg_secure_free (buf);
+diff --git a/pam/gkr-pam-module.c b/pam/gkr-pam-module.c
+index bf3c844..d6fc17d 100644
+--- a/pam/gkr-pam-module.c
++++ b/pam/gkr-pam-module.c
+@@ -318,14 +318,11 @@ cleanup_free_password (pam_handle_t *ph, void *data, int pam_end_status)
+ }
+
+ static void
+-setup_child (int inp[2], int outp[2], int errp[2],
+- pam_handle_t *ph, struct passwd *pwd, const char *password)
++setup_child (int inp[2], int outp[2], int errp[2], pam_handle_t *ph, struct passwd *pwd)
+ {
+ const char* display;
+ int i, ret;
+
+- /* The --login argument comes last, because of code below */
+-
+ #ifdef VALGRIND
+ char *args[] = { VALGRIND, VALGRIND_ARG, GNOME_KEYRING_DAEMON, "--daemonize", "--login", NULL};
+ #else
+@@ -335,14 +332,6 @@ setup_child (int inp[2], int outp[2], int errp[2],
+ assert (pwd);
+ assert (pwd->pw_dir);
+
+- /* If no password, don't pass in --login */
+- if (password == NULL) {
+- for (i = 0; args[i]; ++i) {
+- if (strcmp ("--login", args[i]) == 0)
+- args[i] = NULL;
+- }
+- }
+-
+ /* Fix up our end of the pipes */
+ if (dup2 (inp[READ_END], STDIN) < 0 ||
+ dup2 (outp[WRITE_END], STDOUT) < 0 ||
+@@ -499,7 +488,7 @@ start_daemon (pam_handle_t *ph, struct passwd *pwd, const char *password)
+
+ /* This is the child */
+ case 0:
+- setup_child (inp, outp, errp, ph, pwd, password);
++ setup_child (inp, outp, errp, ph, pwd);
+ /* Should never be reached */
+ break;
+
+@@ -507,19 +496,23 @@ start_daemon (pam_handle_t *ph, struct passwd *pwd, const char *password)
+ default:
+ break;
+ };
+-
++
+ /* Close our unneeded ends of the pipes */
+ close (inp[READ_END]);
+ close (outp[WRITE_END]);
+ close (errp[WRITE_END]);
+ inp[READ_END] = outp[WRITE_END] = errp[WRITE_END] = -1;
+
+- if (password) {
+- /* Write the login keyring password */
++ /*
++ * We always pass in a --login argument, even when we have a NULL password
++ * since this controls the startup behavior. When using --login daemon waits
++ * for a password. Closing input signifies password is done.
++ */
++
++ if (password)
+ write_string (inp[WRITE_END], password);
+- close (inp[WRITE_END]);
+- }
+-
++ close (inp[WRITE_END]);
++
+ /*
+ * Note that we're not using select() or any such. We know how the
+ * daemon sends its data.
+--
+cgit v0.8.3.1
diff --git a/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-service-creation.patch b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-service-creation.patch
new file mode 100644
index 000000000000..0991c306ac34
--- /dev/null
+++ b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-service-creation.patch
@@ -0,0 +1,21 @@
+From d6bb94e9c05072fc791fb5045f5b1ab22d11d916 Mon Sep 17 00:00:00 2001
+From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+Date: Mon, 19 Apr 2010 13:47:26 +0000
+Subject: Make sure the service files are created correctly
+
+---
+diff --git a/daemon/Makefile.am b/daemon/Makefile.am
+index 4c95b5a..9edb13f 100644
+--- a/daemon/Makefile.am
++++ b/daemon/Makefile.am
+@@ -68,7 +68,7 @@ service_DATA = $(service_in_files:.service.in=.service)
+ service_PATH = $(VALGRIND_RUN)$(bindir)
+
+ # Rule to make the service file with bindir expanded
+-$(service_DATA): $(service_in_files) Makefile
++%.service: %.service.in Makefile
+ @sed -e "s|\@PATH\@|$(service_PATH)|" $< > $@
+
+ desktop_in_files = \
+--
+cgit v0.8.3.1
diff --git a/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-uninitialized-value.patch b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-uninitialized-value.patch
new file mode 100644
index 000000000000..7f91d1a5a533
--- /dev/null
+++ b/gnome-base/gnome-keyring/files/gnome-keyring-2.30.1-uninitialized-value.patch
@@ -0,0 +1,23 @@
+From 453c143338895bdd094c9398e8ef336d0f8cba8e Mon Sep 17 00:00:00 2001
+From: Nshepperd <nshepperd@gmail.com>
+Date: Wed, 05 May 2010 14:30:01 +0000
+Subject: Fix checking of uninitialized value in prompting code.
+
+Fixes problem repeatedly asking for password to unlock. See
+bug #616071
+---
+diff --git a/daemon/prompt/gkd-prompt.c b/daemon/prompt/gkd-prompt.c
+index a4ea7fc..645255a 100644
+--- a/daemon/prompt/gkd-prompt.c
++++ b/daemon/prompt/gkd-prompt.c
+@@ -796,7 +796,7 @@ gkd_prompt_get_transport_param (GkdPrompt *self, const gchar *name, gsize *n_val
+ {
+ g_return_val_if_fail (GKD_IS_PROMPT (self), NULL);
+ g_return_val_if_fail (name, NULL);
+- g_return_val_if_fail (*n_value, NULL);
++ g_return_val_if_fail (n_value, NULL);
+
+ if (self->pv->failure)
+ return NULL;
+--
+cgit v0.8.3.1
diff --git a/gnome-base/gnome-keyring/gnome-keyring-2.28.1.ebuild b/gnome-base/gnome-keyring/gnome-keyring-2.30.1-r1.ebuild
index 834deaecdbdb..171c2f8d5301 100644
--- a/gnome-base/gnome-keyring/gnome-keyring-2.28.1.ebuild
+++ b/gnome-base/gnome-keyring/gnome-keyring-2.30.1-r1.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-keyring/gnome-keyring-2.28.1.ebuild,v 1.2 2009/10/30 00:34:45 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-keyring/gnome-keyring-2.30.1-r1.ebuild,v 1.1 2010/06/13 18:43:22 pacho Exp $
EAPI="2"
-inherit gnome2 pam virtualx
+inherit eutils gnome2 pam virtualx autotools
DESCRIPTION="Password and keyring managing daemon"
HOMEPAGE="http://www.gnome.org/"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="~amd64 ~arm ~x86"
IUSE="debug doc pam test"
# USE=valgrind is probably not a good idea for the tree
@@ -28,8 +28,9 @@ DEPEND="${RDEPEND}
>=dev-util/intltool-0.35
>=dev-util/pkgconfig-0.9
doc? ( >=dev-util/gtk-doc-1.9 )"
+PDEPEND="gnome-base/libgnome-keyring"
-DOCS="AUTHORS ChangeLog NEWS README TODO keyring-intro.txt"
+DOCS="AUTHORS ChangeLog NEWS README"
pkg_setup() {
G2CONF="${G2CONF}
@@ -46,9 +47,26 @@ pkg_setup() {
src_prepare() {
gnome2_src_prepare
+ # Add dbus activation service file for org.freedesktop.secrets, bgo#611002
+ epatch "${FILESDIR}/${P}-dbus-activation.patch"
+
+ # Make sure the service files are created correctly
+ epatch "${FILESDIR}/${P}-service-creation.patch"
+
+ # Fix checking of uninitialized value in prompting code, bgo#616071
+ epatch "${FILESDIR}/${P}-uninitialized-value.patch"
+
+ # Fix broken startup when used with gdm and password-less login, bgo#611002
+ epatch "${FILESDIR}/${P}-password-less-login.patch"
+
# Remove silly CFLAGS
sed 's:CFLAGS="$CFLAGS -Werror:CFLAGS="$CFLAGS:' \
-i configure.in configure || die "sed failed"
+
+ # Fix intltoolize broken file, see upstream #577133
+ sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in \
+ || die "sed failed"
+ eautoreconf
}
src_test() {