mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
app-crypt/pinentry - fix build issue
+EAP6 Bug: 602148 Package-Manager: portage-2.3.0
This commit is contained in:
218
app-crypt/pinentry/files/pinentry-1.0.0-build.patch
Executable file
218
app-crypt/pinentry/files/pinentry-1.0.0-build.patch
Executable file
@@ -0,0 +1,218 @@
|
||||
From c5c7bee68730c9f66a27f9bb0d023480623a2bfb Mon Sep 17 00:00:00 2001
|
||||
From: Werner Koch <wk@gnupg.org>
|
||||
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 <wk@gnupg.org>
|
||||
---
|
||||
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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user