From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 68AFB1395E2 for ; Sat, 10 Dec 2016 08:22:23 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A607721C08E; Sat, 10 Dec 2016 08:22:22 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 72FD921C08E for ; Sat, 10 Dec 2016 08:22:22 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0496F34164A for ; Sat, 10 Dec 2016 08:22:21 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6A33E24A4 for ; Sat, 10 Dec 2016 08:22:19 +0000 (UTC) From: "Alon Bar-Lev" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alon Bar-Lev" Message-ID: <1481358122.296fee901f5ae0e155c3b6ed83491fd290eac8d3.alonbl@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/pinentry/, app-crypt/pinentry/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-crypt/pinentry/files/pinentry-1.0.0-build.patch app-crypt/pinentry/pinentry-1.0.0.ebuild X-VCS-Directories: app-crypt/pinentry/files/ app-crypt/pinentry/ X-VCS-Committer: alonbl X-VCS-Committer-Name: Alon Bar-Lev X-VCS-Revision: 296fee901f5ae0e155c3b6ed83491fd290eac8d3 X-VCS-Branch: master Date: Sat, 10 Dec 2016 08:22:19 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: fdb4ab7d-1c3a-4469-8a97-347cba9d65a3 X-Archives-Hash: ff0d8ec9b3117ad79259abe3dd274ae9 commit: 296fee901f5ae0e155c3b6ed83491fd290eac8d3 Author: Alon Bar-Lev gentoo org> AuthorDate: Sat Dec 10 08:21:52 2016 +0000 Commit: Alon Bar-Lev gentoo org> CommitDate: Sat Dec 10 08:22:02 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=296fee90 app-crypt/pinentry - fix build issue +EAP6 Bug: 602148 Package-Manager: portage-2.3.0 .../pinentry/files/pinentry-1.0.0-build.patch | 218 +++++++++++++++++++++ app-crypt/pinentry/pinentry-1.0.0.ebuild | 10 +- 2 files changed, 225 insertions(+), 3 deletions(-) diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-build.patch b/app-crypt/pinentry/files/pinentry-1.0.0-build.patch new file mode 100755 index 00000000..e367b85 --- /dev/null +++ b/app-crypt/pinentry/files/pinentry-1.0.0-build.patch @@ -0,0 +1,218 @@ +From c5c7bee68730c9f66a27f9bb0d023480623a2bfb Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Thu, 1 Dec 2016 09:10:08 +0100 +Subject: [PATCH] Fix linkage problem in tty and emacs pinentries. + +* emacs/pinentry-emacs.c (curses_cmd_handler): Remove var. +* tty/pinentry-tty.c (curses_cmd_handler): Remove var. +* pinentry/pinentry.c (flavor_flag): New local var. +(pinentry_set_flavor_flag): New function. +(cmd_getinfo): Use FLAVOR_FLAG for the "flavor" sub-command. +* gnome3/pinentry-gnome3.c (main): Call pinentry_set_flavor_flag. +* gtk+-2/pinentry-gtk-2.c (main): Ditto. +* pinentry/pinentry-emacs.c (initial_emacs_cmd_handler): Ditto. +* qt/main.cpp (main): Ditto. +-- + +Fixes-commit: e4e3a9cc88704dcffac660d0b92fd1ed8abecc11 +Fixes-commit: d126036671e7dd631babc118cb4113f723f15748 +Signed-off-by: Werner Koch +--- + emacs/pinentry-emacs.c | 4 ---- + gnome3/pinentry-gnome3.c | 3 +++ + gtk+-2/pinentry-gtk-2.c | 10 ++++++++-- + pinentry/pinentry-emacs.c | 5 ++++- + pinentry/pinentry.c | 34 ++++++++++++++++++---------------- + pinentry/pinentry.h | 4 ++++ + qt/main.cpp | 1 + + tty/pinentry-tty.c | 3 --- + 8 files changed, 38 insertions(+), 26 deletions(-) + +diff --git a/emacs/pinentry-emacs.c b/emacs/pinentry-emacs.c +index b6b3eb8..3c39a96 100644 +--- a/emacs/pinentry-emacs.c ++++ b/emacs/pinentry-emacs.c +@@ -29,10 +29,6 @@ + + pinentry_cmd_handler_t pinentry_cmd_handler = emacs_cmd_handler; + +-/* needed to link cleanly; should never be used except for comparison +- * in pinentry/pinentry.c's cmd_getinfo(): */ +-pinentry_cmd_handler_t curses_cmd_handler = NULL; +- + + + int +diff --git a/gnome3/pinentry-gnome3.c b/gnome3/pinentry-gnome3.c +index a040f9b..d5a49d6 100644 +--- a/gnome3/pinentry-gnome3.c ++++ b/gnome3/pinentry-gnome3.c +@@ -517,18 +517,21 @@ main (int argc, char *argv[]) + fprintf (stderr, "No $DBUS_SESSION_BUS_ADDRESS found," + " falling back to curses\n"); + pinentry_cmd_handler = curses_cmd_handler; ++ pinentry_set_flavor_flag ("curses"); + } + else if (!pe_gcr_system_prompt_available ()) + { + fprintf (stderr, "No Gcr System Prompter available," + " falling back to curses\n"); + pinentry_cmd_handler = curses_cmd_handler; ++ pinentry_set_flavor_flag ("curses"); + } + else if (pe_gnome_screen_locked ()) + { + fprintf (stderr, "GNOME screensaver is locked," + " falling back to curses\n"); + pinentry_cmd_handler = curses_cmd_handler; ++ pinentry_set_flavor_flag ("curses"); + } + #endif + +diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c +index 6037533..473c4aa 100644 +--- a/gtk+-2/pinentry-gtk-2.c ++++ b/gtk+-2/pinentry-gtk-2.c +@@ -938,10 +938,16 @@ main (int argc, char *argv[]) + if (pinentry_have_display (argc, argv)) + { + if (! gtk_init_check (&argc, &argv)) +- pinentry_cmd_handler = curses_cmd_handler; ++ { ++ pinentry_cmd_handler = curses_cmd_handler; ++ pinentry_set_flavor_flag ("curses"); ++ } + } + else +- pinentry_cmd_handler = curses_cmd_handler; ++ { ++ pinentry_cmd_handler = curses_cmd_handler; ++ pinentry_set_flavor_flag ("curses"); ++ } + #else + gtk_init (&argc, &argv); + #endif +diff --git a/pinentry/pinentry-emacs.c b/pinentry/pinentry-emacs.c +index df12f1b..50ba406 100644 +--- a/pinentry/pinentry-emacs.c ++++ b/pinentry/pinentry-emacs.c +@@ -644,7 +644,10 @@ initial_emacs_cmd_handler (pinentry_t pe) + if (emacs_socket < 0) + pinentry_cmd_handler = fallback_cmd_handler; + else +- pinentry_cmd_handler = emacs_cmd_handler; ++ { ++ pinentry_cmd_handler = emacs_cmd_handler; ++ pinentry_set_flavor_flag ("emacs"); ++ } + + return (* pinentry_cmd_handler) (pe); + } +diff --git a/pinentry/pinentry.c b/pinentry/pinentry.c +index 322a651..a198fb3 100644 +--- a/pinentry/pinentry.c ++++ b/pinentry/pinentry.c +@@ -67,6 +67,10 @@ static char this_pgmname[50]; + + struct pinentry pinentry; + ++ ++static const char *flavor_flag; ++ ++ + static void + pinentry_reset (int use_defaults) + { +@@ -793,6 +797,16 @@ pinentry_parse_opts (int argc, char *argv[]) + } + } + ++ ++/* Set the optional flag used with getinfo. */ ++void ++pinentry_set_flavor_flag (const char *string) ++{ ++ flavor_flag = string; ++} ++ ++ ++ + + static gpg_error_t + option_handler (assuan_context_t ctx, const char *key, const char *value) +@@ -1444,27 +1458,15 @@ cmd_getinfo (assuan_context_t ctx, char *line) + } + else if (!strcmp (line, "flavor")) + { +- const char *flags; +- + if (!strncmp (this_pgmname, "pinentry-", 9) && this_pgmname[9]) + s = this_pgmname + 9; + else + s = this_pgmname; + +- if (0) +- ; +-#ifdef INSIDE_EMACS +- else if (pinentry_cmd_handler == emacs_cmd_handler) +- flags = ":emacs"; +-#endif +-#ifdef FALLBACK_CURSES +- else if (pinentry_cmd_handler == curses_cmd_handler) +- flags = ":curses"; +-#endif +- else +- flags = ""; +- +- snprintf (buffer, sizeof buffer, "%s%s", s, flags); ++ snprintf (buffer, sizeof buffer, "%s%s%s", ++ s, ++ flavor_flag? ":":"", ++ flavor_flag? flavor_flag : ""); + buffer[sizeof buffer -1] = 0; + rc = assuan_send_data (ctx, buffer, strlen (buffer)); + } +diff --git a/pinentry/pinentry.h b/pinentry/pinentry.h +index 01fb373..45d35ad 100644 +--- a/pinentry/pinentry.h ++++ b/pinentry/pinentry.h +@@ -275,6 +275,10 @@ int pinentry_have_display (int argc, char **argv); + or version output is requested. */ + void pinentry_parse_opts (int argc, char *argv[]); + ++/* Set the optional flag used with getinfo. */ ++void pinentry_set_flavor_flag (const char *string); ++ ++ + + /* The caller must define this variable to process assuan commands. */ + extern pinentry_cmd_handler_t pinentry_cmd_handler; +diff --git a/qt/main.cpp b/qt/main.cpp +index 8284960..225c06b 100644 +--- a/qt/main.cpp ++++ b/qt/main.cpp +@@ -308,6 +308,7 @@ main(int argc, char *argv[]) + #ifdef FALLBACK_CURSES + if (!pinentry_have_display(argc, argv)) { + pinentry_cmd_handler = curses_cmd_handler; ++ pinentry_set_flavor_flag ("curses"); + } else + #endif + { +diff --git a/tty/pinentry-tty.c b/tty/pinentry-tty.c +index 3d6cd5a..a509d79 100644 +--- a/tty/pinentry-tty.c ++++ b/tty/pinentry-tty.c +@@ -556,9 +556,6 @@ tty_cmd_handler(pinentry_t pinentry) + + pinentry_cmd_handler_t pinentry_cmd_handler = tty_cmd_handler; + +-/* needed to link cleanly; should never be used except for comparison +- * in pinentry/pinentry.c's cmd_getinfo(): */ +-pinentry_cmd_handler_t curses_cmd_handler = NULL; + + + int +-- +2.8.0.rc3 + diff --git a/app-crypt/pinentry/pinentry-1.0.0.ebuild b/app-crypt/pinentry/pinentry-1.0.0.ebuild index 707d159..2106259 100644 --- a/app-crypt/pinentry/pinentry-1.0.0.ebuild +++ b/app-crypt/pinentry/pinentry-1.0.0.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=5 +EAPI=6 inherit autotools qmake-utils multilib eutils flag-o-matic toolchain-funcs @@ -55,9 +55,13 @@ REQUIRED_USE=" DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) +PATCHES=( + "${FILESDIR}/${PN}-0.8.2-ncurses.patch" + "${FILESDIR}/${P}-build.patch" +) + src_prepare() { - epatch "${FILESDIR}/${PN}-0.8.2-ncurses.patch" - epatch_user + default eautoreconf }