mirror of
https://github.com/mudler/luet.git
synced 2025-09-19 17:54:29 +00:00
Add tests fixtures
This commit is contained in:
2
tests/fixtures/overlay/app-crypt/pinentry-base/Manifest
vendored
Normal file
2
tests/fixtures/overlay/app-crypt/pinentry-base/Manifest
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
DIST pinentry-1.0.0.tar.bz2 436930 BLAKE2B 949be8de8504a42cd5bd6ffebe331a825db7ff3c2ccc5fc554155b7621fddf9df957aa92063eb1a06c6964826a296bf60a4cc46cf2886552e37703a62042f35a SHA512 f109236707c51871b5020ef807a551366461fafcfbe09bf8cda19d4b163a42cf622562b905ceb41429f1d648b3f3d27807538709da6a135b67f9888709eccd62
|
||||
DIST pinentry-1.1.0.tar.bz2 467702 BLAKE2B cf43555848ab0dc60756fca123aba7599ebb1bfe0458b973ed9d84479f8de9ee69ef309b518b40aa340434d64d37793cf97c94f78f99820bc5c71ecd2aac7a49 SHA512 5012672925bcb5f683358c259e55e4b87c67cf063ad52c759308933733025c33f7ce08e5b8019ffc101cbf7ef30499040ef2fd34a7611698e65e1593f80948cd
|
25
tests/fixtures/overlay/app-crypt/pinentry-base/files/pinentry-0.8.2-ncurses.patch
vendored
Normal file
25
tests/fixtures/overlay/app-crypt/pinentry-base/files/pinentry-0.8.2-ncurses.patch
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
From bafe8608fc525ef103b3d1f3048ca28958bef596 Mon Sep 17 00:00:00 2001
|
||||
From: Alon Bar-Lev <alon.barlev@gmail.com>
|
||||
Date: Sun, 5 May 2013 02:23:08 +0300
|
||||
Subject: [PATCH] ncurses: link with optional tinfo
|
||||
|
||||
---
|
||||
m4/curses.m4 | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/m4/curses.m4 b/m4/curses.m4
|
||||
index 3a01881..ffb6bd1 100644
|
||||
--- a/m4/curses.m4
|
||||
+++ b/m4/curses.m4
|
||||
@@ -36,6 +36,8 @@ AC_DEFUN([IU_LIB_NCURSES], [
|
||||
have_ncursesw=no
|
||||
fi
|
||||
if test "$LIBNCURSES"; then
|
||||
+ AC_CHECK_LIB(tinfow, curs_set, LIBNCURSES="${LIBNCURSES} -ltinfow",
|
||||
+ AC_CHECK_LIB(tinfo, curs_set, LIBNCURSES="${LIBNCURSES} -ltinfo"))
|
||||
# Use ncurses header files instead of the ordinary ones, if possible;
|
||||
# is there a better way of doing this, that avoids looking in specific
|
||||
# directories?
|
||||
--
|
||||
1.8.1.5
|
||||
|
@@ -0,0 +1,48 @@
|
||||
From 7384e2a575dde2809784d9f182fd1d247064c8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Kristian Fiskerstrand <kf@sumptuouscapital.com>
|
||||
Date: Thu, 11 Aug 2016 14:44:37 +0200
|
||||
Subject: [PATCH] Qt: Append -std=c++11 if building against Qt 5.7
|
||||
|
||||
* m4/qt.m4: Append -std=c++11 to CFLAGS if building against Qt 5.7
|
||||
|
||||
--
|
||||
Qt 5.7 enables C++11 for Qt modules, and any app relying on it require to be
|
||||
compiled with at least this standard.
|
||||
|
||||
This patch adds detection for Qt 5.7 and make sure -std=c++11 is passed if
|
||||
building against Qt 5.7 or higher.
|
||||
---
|
||||
m4/qt.m4 | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/m4/qt.m4 b/m4/qt.m4
|
||||
index 093f428..90c4a6e 100644
|
||||
--- a/m4/qt.m4
|
||||
+++ b/m4/qt.m4
|
||||
@@ -35,6 +35,7 @@ AC_DEFUN([FIND_QT],
|
||||
enable_pinentry_qt5="try")
|
||||
|
||||
have_qt5_libs="no";
|
||||
+ require_qt_cpp11="no";
|
||||
|
||||
if test "$enable_pinentry_qt5" != "no"; then
|
||||
PKG_CHECK_MODULES(PINENTRY_QT,
|
||||
@@ -47,6 +48,15 @@ AC_DEFUN([FIND_QT],
|
||||
fi
|
||||
fi
|
||||
if test "$have_qt5_libs" = "yes"; then
|
||||
+ PKG_CHECK_MODULES(PINENTRY_QT_REQUIRE_CPP11,
|
||||
+ Qt5Core >= 5.7.0,
|
||||
+ [require_qt_cpp11="yes"],
|
||||
+ [require_qt_cpp11="no"])
|
||||
+
|
||||
+ if test "${require_qt_cpp11}" = "yes"; then
|
||||
+ PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -std=c++11"
|
||||
+ fi
|
||||
+
|
||||
AC_CHECK_TOOL(MOC, moc)
|
||||
AC_MSG_CHECKING([moc version])
|
||||
mocversion=`$MOC -v 2>&1`
|
||||
--
|
||||
2.7.3
|
||||
|
@@ -0,0 +1,47 @@
|
||||
From 1590b664d88be8386a4664c2994b685187d1eb25 Mon Sep 17 00:00:00 2001
|
||||
From: Damien Goutte-Gattat <dgouttegattat@incenp.org>
|
||||
Date: Thu, 3 Aug 2017 22:56:49 +0200
|
||||
Subject: [PATCH 1/6] gtk: Disable tooltips in keyboard-grabbing mode.
|
||||
|
||||
* gtk+-2:/pinentry-gtk-2.c (show_hide_button): Do not show the
|
||||
tooltip if we attempt to grab the keyboard.
|
||||
(create_window): Likewise.
|
||||
--
|
||||
|
||||
For unclear reasons, those tooltips may interfere with grabbing
|
||||
under some tiling window managers.
|
||||
|
||||
GnuPG-bug-id: 3297
|
||||
Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
|
||||
---
|
||||
gtk+-2/pinentry-gtk-2.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c
|
||||
index d467ec5..f17a702 100644
|
||||
--- a/gtk+-2/pinentry-gtk-2.c
|
||||
+++ b/gtk+-2/pinentry-gtk-2.c
|
||||
@@ -516,7 +516,10 @@ show_hide_button_toggled (GtkWidget *widget, gpointer data)
|
||||
}
|
||||
|
||||
gtk_label_set_markup (GTK_LABEL(label), text);
|
||||
- gtk_widget_set_tooltip_text (GTK_WIDGET(button), tooltip);
|
||||
+ if (!pinentry->grab)
|
||||
+ {
|
||||
+ gtk_widget_set_tooltip_text (GTK_WIDGET(button), tooltip);
|
||||
+ }
|
||||
g_free (tooltip);
|
||||
}
|
||||
|
||||
@@ -736,7 +739,7 @@ create_window (pinentry_t ctx)
|
||||
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (qualitybar),
|
||||
QUALITYBAR_EMPTY_TEXT);
|
||||
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), 0.0);
|
||||
- if (pinentry->quality_bar_tt)
|
||||
+ if (pinentry->quality_bar_tt && !pinentry->grab)
|
||||
{
|
||||
#if !GTK_CHECK_VERSION (2, 12, 0)
|
||||
gtk_tooltips_set_tip (GTK_TOOLTIPS (tooltips), qualitybar,
|
||||
--
|
||||
2.13.6
|
||||
|
218
tests/fixtures/overlay/app-crypt/pinentry-base/files/pinentry-1.0.0-build.patch
vendored
Normal file
218
tests/fixtures/overlay/app-crypt/pinentry-base/files/pinentry-1.0.0-build.patch
vendored
Normal 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
|
||||
|
@@ -0,0 +1,47 @@
|
||||
From b0e0bdeac5d40ca645afc9017778b39a26303523 Mon Sep 17 00:00:00 2001
|
||||
From: Werner Koch <wk@gnupg.org>
|
||||
Date: Wed, 11 Jan 2017 18:40:17 +0100
|
||||
Subject: [PATCH 01/25] gtk2: Fix a problem with fvwm
|
||||
|
||||
* gtk+-2/pinentry-gtk-2.c (grab_pointer): Take care of
|
||||
GDK_GRAB_ALREADY_GRABBED.
|
||||
--
|
||||
|
||||
Debian-bug-id: 850708
|
||||
Co-authored-by: Vincent Lefevre <vincent@vinc17.net>
|
||||
Signed-off-by: Werner Koch <wk@gnupg.org>
|
||||
---
|
||||
gtk+-2/pinentry-gtk-2.c | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c
|
||||
index 473c4aa..e37601f 100644
|
||||
--- a/gtk+-2/pinentry-gtk-2.c
|
||||
+++ b/gtk+-2/pinentry-gtk-2.c
|
||||
@@ -203,7 +203,12 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data)
|
||||
(void)data;
|
||||
|
||||
/* Change the cursor for the duration of the grab to indicate that
|
||||
- something is going on. */
|
||||
+ * something is going on. The fvwm window manager grabs the pointer
|
||||
+ * for a short time and thus we may end up with the already grabbed
|
||||
+ * error code. Actually this error code should be used to detect a
|
||||
+ * malicious grabbing application but with fvwm this renders
|
||||
+ * Pinentry only unusable. Thus we try again several times also for
|
||||
+ * that error code. See Debian bug 850708 for details. */
|
||||
/* XXX: It would be nice to have a key cursor, unfortunately there
|
||||
is none readily available. */
|
||||
cursor = gdk_cursor_new_for_display (gtk_widget_get_display (win),
|
||||
@@ -215,7 +220,8 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data)
|
||||
NULL /* confine to */,
|
||||
cursor,
|
||||
gdk_event_get_time (event));
|
||||
- while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE);
|
||||
+ while (tries++ < max_tries && (err == GDK_GRAB_NOT_VIEWABLE
|
||||
+ || err == GDK_GRAB_ALREADY_GRABBED));
|
||||
|
||||
if (err)
|
||||
{
|
||||
--
|
||||
2.13.6
|
||||
|
@@ -0,0 +1,52 @@
|
||||
From 7218becac7132c2508d4e8f42c693d69c406795a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= <andrius@stikonas.eu>
|
||||
Date: Wed, 7 Mar 2018 15:14:22 +0100
|
||||
Subject: [PATCH] Make pinentry-qt icon work under Plasma Wayland.
|
||||
|
||||
---
|
||||
qt/Makefile.am | 2 ++
|
||||
qt/main.cpp | 2 ++
|
||||
qt/org.gnupg.pinentry-qt.desktop | 5 +++++
|
||||
3 files changed, 9 insertions(+)
|
||||
create mode 100644 qt/org.gnupg.pinentry-qt.desktop
|
||||
|
||||
diff --git a/qt/Makefile.am b/qt/Makefile.am
|
||||
index 698005e..bbf39d1 100644
|
||||
--- a/qt/Makefile.am
|
||||
+++ b/qt/Makefile.am
|
||||
@@ -24,6 +24,8 @@ bin_PROGRAMS = pinentry-qt
|
||||
|
||||
EXTRA_DIST = document-encrypt.png pinentry.qrc
|
||||
|
||||
+desktopdir = $(datadir)/applications
|
||||
+dist_desktop_DATA = org.gnupg.pinentry-qt.desktop
|
||||
|
||||
if FALLBACK_CURSES
|
||||
ncurses_include = $(NCURSES_INCLUDE)
|
||||
diff --git a/qt/main.cpp b/qt/main.cpp
|
||||
index fe88d26..b767cb4 100644
|
||||
--- a/qt/main.cpp
|
||||
+++ b/qt/main.cpp
|
||||
@@ -372,6 +372,8 @@ main(int argc, char *argv[])
|
||||
i = argc;
|
||||
app = new QApplication(i, new_argv);
|
||||
app->setWindowIcon(QIcon(QLatin1String(":/document-encrypt.png")));
|
||||
+ app->setOrganizationDomain(QStringLiteral("gnupg.org"));
|
||||
+ app->setDesktopFileName(QStringLiteral("org.gnupg.pinentry-qt"));
|
||||
}
|
||||
|
||||
pinentry_parse_opts(argc, argv);
|
||||
diff --git a/qt/org.gnupg.pinentry-qt.desktop b/qt/org.gnupg.pinentry-qt.desktop
|
||||
new file mode 100644
|
||||
index 0000000..0ac89aa
|
||||
--- /dev/null
|
||||
+++ b/qt/org.gnupg.pinentry-qt.desktop
|
||||
@@ -0,0 +1,5 @@
|
||||
+[Desktop Entry]
|
||||
+Type=Application
|
||||
+Name=Pinentry dialog
|
||||
+Icon=document-encrypt
|
||||
+NoDisplay=true
|
||||
--
|
||||
2.16.1
|
||||
|
91
tests/fixtures/overlay/app-crypt/pinentry-base/pinentry-base-1.0.0-r2.ebuild
vendored
Normal file
91
tests/fixtures/overlay/app-crypt/pinentry-base/pinentry-base-1.0.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic qmake-utils toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-base}
|
||||
MY_P=${P/-base}
|
||||
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps gtk qt5 static"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libgpg-error-1.17
|
||||
>=dev-libs/libassuan-2.1
|
||||
>=dev-libs/libgcrypt-1.6.3
|
||||
|
||||
sys-libs/ncurses:0=
|
||||
caps? ( sys-libs/libcap )
|
||||
|
||||
static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
|
||||
app-eselect/eselect-pinentry
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
"${FILESDIR}/${MY_P}-build.patch"
|
||||
"${FILESDIR}/${MY_P}-Disable-tooltips-in-keyboard-grabbing-mode.patch"
|
||||
"${FILESDIR}/${MY_P}-gtk2-Fix-a-problem-with-fvwm.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
econf \
|
||||
--enable-pinentry-tty \
|
||||
--enable-pinentry-emacs \
|
||||
--disable-pinentry-gtk2 \
|
||||
--enable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
--disable-pinentry-qt \
|
||||
$(use_with caps libcap) \
|
||||
--disable-libsecret \
|
||||
--disable-pinentry-gnome3
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
rm -f "${ED}"/usr/bin/pinentry || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if ! has_version 'app-crypt/pinentry-base'; then
|
||||
# || has_version '<app-crypt/pinentry-0.7.3'; then
|
||||
elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
|
||||
elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
|
||||
elog "The soft resource limit for memory locking specifies the limit an"
|
||||
elog "unprivileged process may lock into memory. You can also use POSIX"
|
||||
elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
|
||||
elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
|
||||
elog "your users."
|
||||
fi
|
||||
|
||||
eselect pinentry update ifunset
|
||||
use gtk && elog "If you want pinentry for Gtk+, please install app-crypt/pinentry-gtk."
|
||||
use qt5 && elog "If you want pinentry for Qt5, please install app-crypt/pinentry-qt5."
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
89
tests/fixtures/overlay/app-crypt/pinentry-base/pinentry-base-1.1.0-r2.ebuild
vendored
Normal file
89
tests/fixtures/overlay/app-crypt/pinentry-base/pinentry-base-1.1.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic qmake-utils toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-base}
|
||||
MY_P=${P/-base}
|
||||
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps gtk qt5 static"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libgpg-error-1.17
|
||||
>=dev-libs/libassuan-2.1
|
||||
>=dev-libs/libgcrypt-1.6.3
|
||||
|
||||
sys-libs/ncurses:0=
|
||||
caps? ( sys-libs/libcap )
|
||||
static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
|
||||
app-eselect/eselect-pinentry
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
econf \
|
||||
--enable-pinentry-tty \
|
||||
--enable-pinentry-emacs \
|
||||
--disable-pinentry-fltk \
|
||||
--disable-pinentry-gtk2 \
|
||||
--enable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
--disable-pinentry-qt \
|
||||
$(use_with caps libcap) \
|
||||
--disable-libsecret \
|
||||
--disable-pinentry-gnome3
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
rm -f "${ED}"/usr/bin/pinentry || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if ! has_version 'app-crypt/pinentry-base'; then
|
||||
# || has_version '<app-crypt/pinentry-0.7.3'; then
|
||||
elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
|
||||
elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
|
||||
elog "The soft resource limit for memory locking specifies the limit an"
|
||||
elog "unprivileged process may lock into memory. You can also use POSIX"
|
||||
elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
|
||||
elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
|
||||
elog "your users."
|
||||
fi
|
||||
|
||||
eselect pinentry update ifunset
|
||||
use gtk && elog "If you want pinentry for Gtk+, please install app-crypt/pinentry-gtk."
|
||||
use qt5 && elog "If you want pinentry for Qt5, please install app-crypt/pinentry-qt5."
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
2
tests/fixtures/overlay/app-crypt/pinentry-gnome/Manifest
vendored
Normal file
2
tests/fixtures/overlay/app-crypt/pinentry-gnome/Manifest
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
DIST pinentry-1.0.0.tar.bz2 436930 BLAKE2B 949be8de8504a42cd5bd6ffebe331a825db7ff3c2ccc5fc554155b7621fddf9df957aa92063eb1a06c6964826a296bf60a4cc46cf2886552e37703a62042f35a SHA512 f109236707c51871b5020ef807a551366461fafcfbe09bf8cda19d4b163a42cf622562b905ceb41429f1d648b3f3d27807538709da6a135b67f9888709eccd62
|
||||
DIST pinentry-1.1.0.tar.bz2 467702 BLAKE2B cf43555848ab0dc60756fca123aba7599ebb1bfe0458b973ed9d84479f8de9ee69ef309b518b40aa340434d64d37793cf97c94f78f99820bc5c71ecd2aac7a49 SHA512 5012672925bcb5f683358c259e55e4b87c67cf063ad52c759308933733025c33f7ce08e5b8019ffc101cbf7ef30499040ef2fd34a7611698e65e1593f80948cd
|
1
tests/fixtures/overlay/app-crypt/pinentry-gnome/files
vendored
Symbolic link
1
tests/fixtures/overlay/app-crypt/pinentry-gnome/files
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../pinentry-base/files
|
76
tests/fixtures/overlay/app-crypt/pinentry-gnome/pinentry-gnome-1.0.0-r2.ebuild
vendored
Normal file
76
tests/fixtures/overlay/app-crypt/pinentry-gnome/pinentry-gnome-1.0.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-gnome}
|
||||
MY_P=${P/-gnome}
|
||||
DESCRIPTION="GNOME 3 frontend for pinentry"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
CDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
app-crypt/libsecret
|
||||
caps? ( sys-libs/libcap )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
app-crypt/gcr
|
||||
sys-libs/ncurses:0=
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
"${FILESDIR}/${MY_P}-build.patch"
|
||||
"${FILESDIR}/${MY_P}-Disable-tooltips-in-keyboard-grabbing-mode.patch"
|
||||
"${FILESDIR}/${MY_P}-gtk2-Fix-a-problem-with-fvwm.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
econf \
|
||||
--disable-pinentry-tty \
|
||||
--disable-pinentry-emacs \
|
||||
--disable-pinentry-gtk2 \
|
||||
--disable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
--disable-pinentry-qt \
|
||||
$(use_with caps libcap) \
|
||||
--enable-libsecret \
|
||||
--enable-pinentry-gnome3
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd gnome3 || die
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect pinentry set pinentry-gnome3
|
||||
# eselect pinentry update ifunset
|
||||
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
75
tests/fixtures/overlay/app-crypt/pinentry-gnome/pinentry-gnome-1.1.0-r2.ebuild
vendored
Normal file
75
tests/fixtures/overlay/app-crypt/pinentry-gnome/pinentry-gnome-1.1.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-gnome}
|
||||
MY_P=${P/-gnome}
|
||||
DESCRIPTION="GNOME 3 frontend for pinentry"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
CDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
app-crypt/libsecret
|
||||
caps? ( sys-libs/libcap )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
app-crypt/gcr
|
||||
sys-libs/ncurses:0=
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
econf \
|
||||
--disable-pinentry-tty \
|
||||
--disable-pinentry-emacs \
|
||||
--disable-pinentry-fltk \
|
||||
--disable-pinentry-gtk2 \
|
||||
--disable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
--disable-pinentry-qt \
|
||||
$(use_with caps libcap) \
|
||||
--enable-libsecret \
|
||||
--enable-pinentry-gnome3
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd gnome3 || die
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect pinentry set pinentry-gnome3
|
||||
# eselect pinentry update ifunset
|
||||
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
2
tests/fixtures/overlay/app-crypt/pinentry-gtk2/Manifest
vendored
Normal file
2
tests/fixtures/overlay/app-crypt/pinentry-gtk2/Manifest
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
DIST pinentry-1.0.0.tar.bz2 436930 BLAKE2B 949be8de8504a42cd5bd6ffebe331a825db7ff3c2ccc5fc554155b7621fddf9df957aa92063eb1a06c6964826a296bf60a4cc46cf2886552e37703a62042f35a SHA512 f109236707c51871b5020ef807a551366461fafcfbe09bf8cda19d4b163a42cf622562b905ceb41429f1d648b3f3d27807538709da6a135b67f9888709eccd62
|
||||
DIST pinentry-1.1.0.tar.bz2 467702 BLAKE2B cf43555848ab0dc60756fca123aba7599ebb1bfe0458b973ed9d84479f8de9ee69ef309b518b40aa340434d64d37793cf97c94f78f99820bc5c71ecd2aac7a49 SHA512 5012672925bcb5f683358c259e55e4b87c67cf063ad52c759308933733025c33f7ce08e5b8019ffc101cbf7ef30499040ef2fd34a7611698e65e1593f80948cd
|
1
tests/fixtures/overlay/app-crypt/pinentry-gtk2/files
vendored
Symbolic link
1
tests/fixtures/overlay/app-crypt/pinentry-gtk2/files
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../pinentry-base/files
|
72
tests/fixtures/overlay/app-crypt/pinentry-gtk2/pinentry-gtk2-1.0.0-r2.ebuild
vendored
Normal file
72
tests/fixtures/overlay/app-crypt/pinentry-gtk2/pinentry-gtk2-1.0.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-gtk2}
|
||||
MY_P=${P/-gtk2}
|
||||
DESCRIPTION="Gtk+2 frontend for pinentry"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
!app-crypt/pinentry-base[static]
|
||||
caps? ( sys-libs/libcap )
|
||||
x11-libs/gtk+:2
|
||||
sys-libs/ncurses:0=
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
"${FILESDIR}/${MY_P}-build.patch"
|
||||
"${FILESDIR}/${MY_P}-Disable-tooltips-in-keyboard-grabbing-mode.patch"
|
||||
"${FILESDIR}/${MY_P}-gtk2-Fix-a-problem-with-fvwm.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
econf \
|
||||
--disable-pinentry-tty \
|
||||
--disable-pinentry-emacs \
|
||||
--enable-pinentry-gtk2 \
|
||||
--disable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
--disable-pinentry-qt \
|
||||
$(use_with caps libcap) \
|
||||
--disable-libsecret \
|
||||
--disable-pinentry-gnome3
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd gtk+-2 || die
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect pinentry set pinentry-gtk-2
|
||||
# eselect pinentry update ifunset
|
||||
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
71
tests/fixtures/overlay/app-crypt/pinentry-gtk2/pinentry-gtk2-1.1.0-r2.ebuild
vendored
Normal file
71
tests/fixtures/overlay/app-crypt/pinentry-gtk2/pinentry-gtk2-1.1.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-gtk2}
|
||||
MY_P=${P/-gtk2}
|
||||
DESCRIPTION="Gtk+2 frontend for pinentry"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
!app-crypt/pinentry-base[static]
|
||||
caps? ( sys-libs/libcap )
|
||||
x11-libs/gtk+:2
|
||||
sys-libs/ncurses:0=
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
econf \
|
||||
--disable-pinentry-tty \
|
||||
--disable-pinentry-emacs \
|
||||
--disable-pinentry-fltk \
|
||||
--enable-pinentry-gtk2 \
|
||||
--disable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
--disable-pinentry-qt \
|
||||
$(use_with caps libcap) \
|
||||
--disable-libsecret \
|
||||
--disable-pinentry-gnome3
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd gtk+-2 || die
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect pinentry set pinentry-gtk-2
|
||||
# eselect pinentry update ifunset
|
||||
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
2
tests/fixtures/overlay/app-crypt/pinentry-qt5/Manifest
vendored
Normal file
2
tests/fixtures/overlay/app-crypt/pinentry-qt5/Manifest
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
DIST pinentry-1.0.0.tar.bz2 436930 BLAKE2B 949be8de8504a42cd5bd6ffebe331a825db7ff3c2ccc5fc554155b7621fddf9df957aa92063eb1a06c6964826a296bf60a4cc46cf2886552e37703a62042f35a SHA512 f109236707c51871b5020ef807a551366461fafcfbe09bf8cda19d4b163a42cf622562b905ceb41429f1d648b3f3d27807538709da6a135b67f9888709eccd62
|
||||
DIST pinentry-1.1.0.tar.bz2 467702 BLAKE2B cf43555848ab0dc60756fca123aba7599ebb1bfe0458b973ed9d84479f8de9ee69ef309b518b40aa340434d64d37793cf97c94f78f99820bc5c71ecd2aac7a49 SHA512 5012672925bcb5f683358c259e55e4b87c67cf063ad52c759308933733025c33f7ce08e5b8019ffc101cbf7ef30499040ef2fd34a7611698e65e1593f80948cd
|
1
tests/fixtures/overlay/app-crypt/pinentry-qt5/files
vendored
Symbolic link
1
tests/fixtures/overlay/app-crypt/pinentry-qt5/files
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../pinentry-base/files
|
80
tests/fixtures/overlay/app-crypt/pinentry-qt5/pinentry-qt5-1.0.0-r2.ebuild
vendored
Normal file
80
tests/fixtures/overlay/app-crypt/pinentry-qt5/pinentry-qt5-1.0.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic qmake-utils toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-qt5}
|
||||
MY_P=${P/-qt5}
|
||||
DESCRIPTION="Qt5 frontend for pinentry"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
!app-crypt/pinentry-base[static]
|
||||
!app-crypt/pinentry-qt4
|
||||
caps? ( sys-libs/libcap )
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
sys-libs/ncurses:0=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
"${FILESDIR}/${MY_P}-build.patch"
|
||||
"${FILESDIR}/${MY_P}-Disable-tooltips-in-keyboard-grabbing-mode.patch"
|
||||
"${FILESDIR}/${MY_P}-gtk2-Fix-a-problem-with-fvwm.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
export QTLIB="$(qt5_get_libdir)"
|
||||
|
||||
econf \
|
||||
--disable-pinentry-tty \
|
||||
--disable-pinentry-emacs \
|
||||
--disable-pinentry-gtk2 \
|
||||
--disable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
$(use_with caps libcap) \
|
||||
--disable-libsecret \
|
||||
--disable-pinentry-gnome3 \
|
||||
--enable-pinentry-qt \
|
||||
MOC="$(qt5_get_bindir)"/moc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd qt || die
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dosym pinentry-qt /usr/bin/pinentry-qt4
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# -qt4 is not a typo: see dosym above.
|
||||
eselect pinentry set pinentry-qt4
|
||||
# eselect pinentry update ifunset
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
79
tests/fixtures/overlay/app-crypt/pinentry-qt5/pinentry-qt5-1.1.0-r2.ebuild
vendored
Normal file
79
tests/fixtures/overlay/app-crypt/pinentry-qt5/pinentry-qt5-1.1.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools flag-o-matic qmake-utils toolchain-funcs
|
||||
|
||||
MY_PN=${PN/-qt5}
|
||||
MY_P=${P/-qt5}
|
||||
DESCRIPTION="Qt5 frontend for pinentry"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
!app-crypt/pinentry-base[static]
|
||||
!app-crypt/pinentry-qt4
|
||||
caps? ( sys-libs/libcap )
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
sys-libs/ncurses:0=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${MY_PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
|
||||
"${FILESDIR}/${MY_PN}-0.8.2-ncurses.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
[[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
|
||||
|
||||
export QTLIB="$(qt5_get_libdir)"
|
||||
|
||||
econf \
|
||||
--disable-pinentry-tty \
|
||||
--disable-pinentry-emacs \
|
||||
--disable-pinentry-fltk \
|
||||
--disable-pinentry-gtk2 \
|
||||
--disable-pinentry-curses \
|
||||
--enable-fallback-curses \
|
||||
$(use_with caps libcap) \
|
||||
--disable-libsecret \
|
||||
--disable-pinentry-gnome3 \
|
||||
--enable-pinentry-qt \
|
||||
MOC="$(qt5_get_bindir)"/moc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd qt || die
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dosym pinentry-qt /usr/bin/pinentry-qt4
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# -qt4 is not a typo: see dosym above.
|
||||
eselect pinentry set pinentry-qt4
|
||||
# eselect pinentry update ifunset
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect pinentry update ifunset
|
||||
}
|
30
tests/fixtures/overlay/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild
vendored
Normal file
30
tests/fixtures/overlay/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol (meta package)"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
# some use flags are fake, used to mimic portage ebuild USE flags
|
||||
IUSE="caps emacs gnome-keyring gtk ncurses qt5 static"
|
||||
|
||||
RDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
caps? ( ~app-crypt/pinentry-base-${PV}[caps] )
|
||||
gnome-keyring? ( ~app-crypt/pinentry-gnome-${PV} )
|
||||
gtk? ( ~app-crypt/pinentry-gtk2-${PV} )
|
||||
qt5? ( ~app-crypt/pinentry-qt5-${PV} )
|
||||
static? ( ~app-crypt/pinentry-base-${PV}[static] )"
|
||||
DEPEND=""
|
||||
|
||||
REQUIRED_USE="
|
||||
|| ( ncurses gtk qt5 )
|
||||
gtk? ( !static )
|
||||
qt5? ( !static )
|
||||
static? ( ncurses )
|
||||
"
|
818
tests/fixtures/overlay/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild.sh
vendored
Normal file
818
tests/fixtures/overlay/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild.sh
vendored
Normal file
@@ -0,0 +1,818 @@
|
||||
#!/bin/bash
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Prevent aliases from causing portage to act inappropriately.
|
||||
# Make sure it's before everything so we don't mess aliases that follow.
|
||||
|
||||
# Make sure this isn't exported to scripts we execute.
|
||||
unset BASH_COMPAT
|
||||
declare -F ___in_portage_iuse >/dev/null && export -n -f ___in_portage_iuse
|
||||
|
||||
source "${PORTAGE_BIN_PATH}/isolated-functions.sh" || exit 1
|
||||
|
||||
# Set up the bash version compatibility level. This does not disable
|
||||
# features when running with a newer version, but makes it so that when
|
||||
# bash changes behavior in an incompatible way, the older behavior is
|
||||
# used instead.
|
||||
__check_bash_version() {
|
||||
# Figure out which min version of bash we require.
|
||||
local maj min
|
||||
if ___eapi_bash_3_2 ; then
|
||||
maj=3 min=2
|
||||
elif ___eapi_bash_4_2 ; then
|
||||
maj=4 min=2
|
||||
else
|
||||
return
|
||||
fi
|
||||
|
||||
# Make sure the active bash is sane.
|
||||
if [[ ${BASH_VERSINFO[0]} -lt ${maj} ]] ||
|
||||
[[ ${BASH_VERSINFO[0]} -eq ${maj} && ${BASH_VERSINFO[1]} -lt ${min} ]] ; then
|
||||
die ">=bash-${maj}.${min} is required"
|
||||
fi
|
||||
|
||||
# Set the compat level in case things change with newer ones. We must not
|
||||
# export this into the env otherwise we might break other shell scripts we
|
||||
# execute (e.g. ones in /usr/bin).
|
||||
BASH_COMPAT="${maj}.${min}"
|
||||
|
||||
# The variable above is new to bash-4.3. For older versions, we have to use
|
||||
# a compat knob. Further, the compat knob only exists with older versions
|
||||
# (e.g. bash-4.3 has compat42 but not compat43). This means we only need to
|
||||
# turn the knob with older EAPIs, and only when running newer bash versions:
|
||||
# there is no bash-3.3 (it went 3.2 to 4.0), and when requiring bash-4.2, the
|
||||
# var works with bash-4.3+, and you don't need to set compat to 4.2 when you
|
||||
# are already running 4.2.
|
||||
if ___eapi_bash_3_2 && [[ ${BASH_VERSINFO[0]} -gt 3 ]] ; then
|
||||
shopt -s compat32
|
||||
fi
|
||||
}
|
||||
__check_bash_version
|
||||
|
||||
if [[ $EBUILD_PHASE != depend ]] ; then
|
||||
source "${PORTAGE_BIN_PATH}/phase-functions.sh" || die
|
||||
source "${PORTAGE_BIN_PATH}/save-ebuild-env.sh" || die
|
||||
source "${PORTAGE_BIN_PATH}/phase-helpers.sh" || die
|
||||
source "${PORTAGE_BIN_PATH}/bashrc-functions.sh" || die
|
||||
else
|
||||
# These dummy functions are for things that are likely to be called
|
||||
# in global scope, even though they are completely useless during
|
||||
# the "depend" phase.
|
||||
funcs="diropts docompress dostrip exeopts get_KV insopts
|
||||
KV_major KV_micro KV_minor KV_to_int
|
||||
libopts register_die_hook register_success_hook
|
||||
__strip_duplicate_slashes
|
||||
use useq usev use_with use_enable"
|
||||
___eapi_has_usex && funcs+=" usex"
|
||||
___eapi_has_in_iuse && funcs+=" in_iuse"
|
||||
___eapi_has_get_libdir && funcs+=" get_libdir"
|
||||
# These functions die because calls to them during the "depend" phase
|
||||
# are considered to be severe QA violations.
|
||||
funcs+=" best_version has_version portageq"
|
||||
___eapi_has_master_repositories && funcs+=" master_repositories"
|
||||
___eapi_has_repository_path && funcs+=" repository_path"
|
||||
___eapi_has_available_eclasses && funcs+=" available_eclasses"
|
||||
___eapi_has_eclass_path && funcs+=" eclass_path"
|
||||
___eapi_has_license_path && funcs+=" license_path"
|
||||
for x in ${funcs} ; do
|
||||
eval "${x}() { die \"\${FUNCNAME}() calls are not allowed in global scope\"; }"
|
||||
done
|
||||
unset funcs x
|
||||
|
||||
# prevent the shell from finding external executables
|
||||
# note: we can't use empty because it implies current directory
|
||||
_PORTAGE_ORIG_PATH=${PATH}
|
||||
export PATH=/dev/null
|
||||
command_not_found_handle() {
|
||||
die "External commands disallowed while sourcing ebuild: ${*}"
|
||||
}
|
||||
fi
|
||||
|
||||
# Don't use sandbox's BASH_ENV for new shells because it does
|
||||
# 'source /etc/profile' which can interfere with the build
|
||||
# environment by modifying our PATH.
|
||||
unset BASH_ENV
|
||||
|
||||
# This is just a temporary workaround for portage-9999 users since
|
||||
# earlier portage versions do not detect a version change in this case
|
||||
# (9999 to 9999) and therefore they try execute an incompatible version of
|
||||
# ebuild.sh during the upgrade.
|
||||
export PORTAGE_BZIP2_COMMAND=${PORTAGE_BZIP2_COMMAND:-bzip2}
|
||||
|
||||
# These two functions wrap sourcing and calling respectively. At present they
|
||||
# perform a qa check to make sure eclasses and ebuilds and profiles don't mess
|
||||
# with shell opts (shopts). Ebuilds/eclasses changing shopts should reset them
|
||||
# when they are done.
|
||||
|
||||
__qa_source() {
|
||||
local shopts=$(shopt) OLDIFS="$IFS"
|
||||
local retval
|
||||
source "$@"
|
||||
retval=$?
|
||||
set +e
|
||||
[[ $shopts != $(shopt) ]] &&
|
||||
eqawarn "QA Notice: Global shell options changed and were not restored while sourcing '$*'"
|
||||
[[ "$IFS" != "$OLDIFS" ]] &&
|
||||
eqawarn "QA Notice: Global IFS changed and was not restored while sourcing '$*'"
|
||||
return $retval
|
||||
}
|
||||
|
||||
__qa_call() {
|
||||
local shopts=$(shopt) OLDIFS="$IFS"
|
||||
local retval
|
||||
"$@"
|
||||
retval=$?
|
||||
set +e
|
||||
[[ $shopts != $(shopt) ]] &&
|
||||
eqawarn "QA Notice: Global shell options changed and were not restored while calling '$*'"
|
||||
[[ "$IFS" != "$OLDIFS" ]] &&
|
||||
eqawarn "QA Notice: Global IFS changed and was not restored while calling '$*'"
|
||||
return $retval
|
||||
}
|
||||
|
||||
EBUILD_SH_ARGS="$*"
|
||||
|
||||
shift $#
|
||||
|
||||
# Unset some variables that break things.
|
||||
unset GZIP BZIP BZIP2 CDPATH GREP_OPTIONS GREP_COLOR GLOBIGNORE
|
||||
if ___eapi_has_ENV_UNSET; then
|
||||
for x in ${ENV_UNSET}; do
|
||||
unset "${x}"
|
||||
done
|
||||
unset x
|
||||
fi
|
||||
|
||||
[[ $PORTAGE_QUIET != "" ]] && export PORTAGE_QUIET
|
||||
|
||||
# sandbox support functions; defined prior to profile.bashrc srcing, since the profile might need to add a default exception (/usr/lib64/conftest fex)
|
||||
__sb_append_var() {
|
||||
local _v=$1 ; shift
|
||||
local var="SANDBOX_${_v}"
|
||||
[[ -z $1 || -n $2 ]] && die "Usage: add$(LC_ALL=C tr "[:upper:]" "[:lower:]" <<< "${_v}") <colon-delimited list of paths>"
|
||||
export ${var}="${!var:+${!var}:}$1"
|
||||
}
|
||||
# bash-4 version:
|
||||
# local var="SANDBOX_${1^^}"
|
||||
# addread() { __sb_append_var ${0#add} "$@" ; }
|
||||
addread() { __sb_append_var READ "$@" ; }
|
||||
addwrite() { __sb_append_var WRITE "$@" ; }
|
||||
adddeny() { __sb_append_var DENY "$@" ; }
|
||||
addpredict() { __sb_append_var PREDICT "$@" ; }
|
||||
|
||||
addwrite "${PORTAGE_TMPDIR}/portage"
|
||||
addread "/:${PORTAGE_TMPDIR}/portage"
|
||||
[[ -n ${PORTAGE_GPG_DIR} ]] && addpredict "${PORTAGE_GPG_DIR}"
|
||||
|
||||
# Avoid sandbox violations in temporary directories.
|
||||
if [[ -w $T ]] ; then
|
||||
export TEMP=$T
|
||||
export TMP=$T
|
||||
export TMPDIR=$T
|
||||
elif [[ $SANDBOX_ON = 1 ]] ; then
|
||||
for x in TEMP TMP TMPDIR ; do
|
||||
[[ -n ${!x} ]] && addwrite "${!x}"
|
||||
done
|
||||
unset x
|
||||
fi
|
||||
|
||||
# the sandbox is disabled by default except when overridden in the relevant stages
|
||||
export SANDBOX_ON=0
|
||||
|
||||
# Ensure that $PWD is sane whenever possible, to protect against
|
||||
# exploitation of insecure search path for python -c in ebuilds.
|
||||
# See bug #239560, bug #469338, and bug #595028.
|
||||
if [[ -d ${HOME} ]]; then
|
||||
# Use portage's temporary HOME directory if available.
|
||||
cd "${HOME}" || die
|
||||
else
|
||||
cd "${PORTAGE_PYM_PATH}" || \
|
||||
die "PORTAGE_PYM_PATH does not exist: '${PORTAGE_PYM_PATH}'"
|
||||
fi
|
||||
|
||||
#if no perms are specified, dirs/files will have decent defaults
|
||||
#(not secretive, but not stupid)
|
||||
umask 022
|
||||
|
||||
# debug-print() gets called from many places with verbose status information useful
|
||||
# for tracking down problems. The output is in $T/eclass-debug.log.
|
||||
# You can set ECLASS_DEBUG_OUTPUT to redirect the output somewhere else as well.
|
||||
# The special "on" setting echoes the information, mixing it with the rest of the
|
||||
# emerge output.
|
||||
# You can override the setting by exporting a new one from the console, or you can
|
||||
# set a new default in make.*. Here the default is "" or unset.
|
||||
|
||||
# in the future might use e* from /etc/init.d/functions.sh if i feel like it
|
||||
debug-print() {
|
||||
# if $T isn't defined, we're in dep calculation mode and
|
||||
# shouldn't do anything
|
||||
[[ $EBUILD_PHASE = depend || ! -d ${T} || ${#} -eq 0 ]] && return 0
|
||||
|
||||
if [[ ${ECLASS_DEBUG_OUTPUT} == on ]]; then
|
||||
printf 'debug: %s\n' "${@}" >&2
|
||||
elif [[ -n ${ECLASS_DEBUG_OUTPUT} ]]; then
|
||||
printf 'debug: %s\n' "${@}" >> "${ECLASS_DEBUG_OUTPUT}"
|
||||
fi
|
||||
|
||||
if [[ -w $T ]] ; then
|
||||
# default target
|
||||
printf '%s\n' "${@}" >> "${T}/eclass-debug.log"
|
||||
# let the portage user own/write to this file
|
||||
chgrp "${PORTAGE_GRPNAME:-portage}" "${T}/eclass-debug.log"
|
||||
chmod g+w "${T}/eclass-debug.log"
|
||||
fi
|
||||
}
|
||||
|
||||
# The following 2 functions are debug-print() wrappers
|
||||
|
||||
debug-print-function() {
|
||||
debug-print "${1}: entering function, parameters: ${*:2}"
|
||||
}
|
||||
|
||||
debug-print-section() {
|
||||
debug-print "now in section ${*}"
|
||||
}
|
||||
|
||||
# Sources all eclasses in parameters
|
||||
declare -ix ECLASS_DEPTH=0
|
||||
inherit() {
|
||||
ECLASS_DEPTH=$(($ECLASS_DEPTH + 1))
|
||||
if [[ ${ECLASS_DEPTH} -gt 1 ]]; then
|
||||
debug-print "*** Multiple Inheritence (Level: ${ECLASS_DEPTH})"
|
||||
|
||||
# Since ECLASS_DEPTH > 1, the following variables are locals from the
|
||||
# previous inherit call in the call stack.
|
||||
if [[ -n ${ECLASS} && -n ${!__export_funcs_var} ]] ; then
|
||||
eqawarn "QA Notice: EXPORT_FUNCTIONS is called before inherit in ${ECLASS}.eclass."
|
||||
eqawarn "For compatibility with <=portage-2.1.6.7, only call EXPORT_FUNCTIONS"
|
||||
eqawarn "after inherit(s)."
|
||||
fi
|
||||
fi
|
||||
|
||||
local -x ECLASS
|
||||
local __export_funcs_var
|
||||
local repo_location
|
||||
local location
|
||||
local potential_location
|
||||
local x
|
||||
local B_IUSE
|
||||
local B_REQUIRED_USE
|
||||
local B_DEPEND
|
||||
local B_RDEPEND
|
||||
local B_PDEPEND
|
||||
local B_HDEPEND
|
||||
local B_BDEPEND
|
||||
while [ "$1" ]; do
|
||||
location=""
|
||||
potential_location=""
|
||||
|
||||
ECLASS="$1"
|
||||
__export_funcs_var=__export_functions_$ECLASS_DEPTH
|
||||
unset $__export_funcs_var
|
||||
|
||||
if [[ ${EBUILD_PHASE} != depend && ${EBUILD_PHASE} != nofetch && \
|
||||
${EBUILD_PHASE} != *rm && ${EMERGE_FROM} != "binary" && \
|
||||
-z ${_IN_INSTALL_QA_CHECK} ]]
|
||||
then
|
||||
# This is disabled in the *rm phases because they frequently give
|
||||
# false alarms due to INHERITED in /var/db/pkg being outdated
|
||||
# in comparison to the eclasses from the ebuild repository. It's
|
||||
# disabled for nofetch, since that can be called by repoman and
|
||||
# that triggers bug #407449 due to repoman not exporting
|
||||
# non-essential variables such as INHERITED.
|
||||
if ! has $ECLASS $INHERITED $__INHERITED_QA_CACHE ; then
|
||||
eqawarn "QA Notice: ECLASS '$ECLASS' inherited illegally in $CATEGORY/$PF $EBUILD_PHASE"
|
||||
fi
|
||||
fi
|
||||
|
||||
for repo_location in "${PORTAGE_ECLASS_LOCATIONS[@]}"; do
|
||||
potential_location="${repo_location}/eclass/${1}.eclass"
|
||||
if [[ -f ${potential_location} ]]; then
|
||||
location="${potential_location}"
|
||||
debug-print " eclass exists: ${location}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
debug-print "inherit: $1 -> $location"
|
||||
[[ -z ${location} ]] && die "${1}.eclass could not be found by inherit()"
|
||||
|
||||
# inherits in QA checks can't handle metadata assignments
|
||||
if [[ -z ${_IN_INSTALL_QA_CHECK} ]]; then
|
||||
#We need to back up the values of *DEPEND to B_*DEPEND
|
||||
#(if set).. and then restore them after the inherit call.
|
||||
|
||||
#turn off glob expansion
|
||||
set -f
|
||||
|
||||
# Retain the old data and restore it later.
|
||||
unset B_IUSE B_REQUIRED_USE B_DEPEND B_RDEPEND B_PDEPEND
|
||||
unset B_HDEPEND B_BDEPEND
|
||||
[ "${IUSE+set}" = set ] && B_IUSE="${IUSE}"
|
||||
[ "${REQUIRED_USE+set}" = set ] && B_REQUIRED_USE="${REQUIRED_USE}"
|
||||
[ "${DEPEND+set}" = set ] && B_DEPEND="${DEPEND}"
|
||||
[ "${RDEPEND+set}" = set ] && B_RDEPEND="${RDEPEND}"
|
||||
[ "${PDEPEND+set}" = set ] && B_PDEPEND="${PDEPEND}"
|
||||
[ "${HDEPEND+set}" = set ] && B_HDEPEND="${HDEPEND}"
|
||||
[ "${BDEPEND+set}" = set ] && B_BDEPEND="${BDEPEND}"
|
||||
unset IUSE REQUIRED_USE DEPEND RDEPEND PDEPEND HDEPEND
|
||||
unset BDEPEND
|
||||
#turn on glob expansion
|
||||
set +f
|
||||
fi
|
||||
|
||||
__qa_source "$location" || die "died sourcing $location in inherit()"
|
||||
|
||||
if [[ -z ${_IN_INSTALL_QA_CHECK} ]]; then
|
||||
#turn off glob expansion
|
||||
set -f
|
||||
|
||||
# If each var has a value, append it to the global variable E_* to
|
||||
# be applied after everything is finished. New incremental behavior.
|
||||
[ "${IUSE+set}" = set ] && E_IUSE+="${E_IUSE:+ }${IUSE}"
|
||||
[ "${REQUIRED_USE+set}" = set ] && E_REQUIRED_USE+="${E_REQUIRED_USE:+ }${REQUIRED_USE}"
|
||||
[ "${DEPEND+set}" = set ] && E_DEPEND+="${E_DEPEND:+ }${DEPEND}"
|
||||
[ "${RDEPEND+set}" = set ] && E_RDEPEND+="${E_RDEPEND:+ }${RDEPEND}"
|
||||
[ "${PDEPEND+set}" = set ] && E_PDEPEND+="${E_PDEPEND:+ }${PDEPEND}"
|
||||
[ "${HDEPEND+set}" = set ] && E_HDEPEND+="${E_HDEPEND:+ }${HDEPEND}"
|
||||
[ "${BDEPEND+set}" = set ] && E_BDEPEND+="${E_BDEPEND:+ }${BDEPEND}"
|
||||
|
||||
[ "${B_IUSE+set}" = set ] && IUSE="${B_IUSE}"
|
||||
[ "${B_IUSE+set}" = set ] || unset IUSE
|
||||
|
||||
[ "${B_REQUIRED_USE+set}" = set ] && REQUIRED_USE="${B_REQUIRED_USE}"
|
||||
[ "${B_REQUIRED_USE+set}" = set ] || unset REQUIRED_USE
|
||||
|
||||
[ "${B_DEPEND+set}" = set ] && DEPEND="${B_DEPEND}"
|
||||
[ "${B_DEPEND+set}" = set ] || unset DEPEND
|
||||
|
||||
[ "${B_RDEPEND+set}" = set ] && RDEPEND="${B_RDEPEND}"
|
||||
[ "${B_RDEPEND+set}" = set ] || unset RDEPEND
|
||||
|
||||
[ "${B_PDEPEND+set}" = set ] && PDEPEND="${B_PDEPEND}"
|
||||
[ "${B_PDEPEND+set}" = set ] || unset PDEPEND
|
||||
|
||||
[ "${B_HDEPEND+set}" = set ] && HDEPEND="${B_HDEPEND}"
|
||||
[ "${B_HDEPEND+set}" = set ] || unset HDEPEND
|
||||
|
||||
[ "${B_BDEPEND+set}" = set ] && BDEPEND="${B_BDEPEND}"
|
||||
[ "${B_BDEPEND+set}" = set ] || unset BDEPEND
|
||||
|
||||
#turn on glob expansion
|
||||
set +f
|
||||
|
||||
if [[ -n ${!__export_funcs_var} ]] ; then
|
||||
for x in ${!__export_funcs_var} ; do
|
||||
debug-print "EXPORT_FUNCTIONS: $x -> ${ECLASS}_$x"
|
||||
declare -F "${ECLASS}_$x" >/dev/null || \
|
||||
die "EXPORT_FUNCTIONS: ${ECLASS}_$x is not defined"
|
||||
eval "$x() { ${ECLASS}_$x \"\$@\" ; }" > /dev/null
|
||||
done
|
||||
fi
|
||||
unset $__export_funcs_var
|
||||
|
||||
has $1 $INHERITED || export INHERITED="$INHERITED $1"
|
||||
fi
|
||||
|
||||
shift
|
||||
done
|
||||
((--ECLASS_DEPTH)) # Returns 1 when ECLASS_DEPTH reaches 0.
|
||||
return 0
|
||||
}
|
||||
|
||||
# Exports stub functions that call the eclass's functions, thereby making them default.
|
||||
# For example, if ECLASS="base" and you call "EXPORT_FUNCTIONS src_unpack", the following
|
||||
# code will be eval'd:
|
||||
# src_unpack() { base_src_unpack; }
|
||||
EXPORT_FUNCTIONS() {
|
||||
if [ -z "$ECLASS" ]; then
|
||||
die "EXPORT_FUNCTIONS without a defined ECLASS"
|
||||
fi
|
||||
eval $__export_funcs_var+=\" $*\"
|
||||
}
|
||||
|
||||
PORTAGE_BASHRCS_SOURCED=0
|
||||
|
||||
# @FUNCTION: __source_all_bashrcs
|
||||
# @DESCRIPTION:
|
||||
# Source a relevant bashrc files and perform other miscellaneous
|
||||
# environment initialization when appropriate.
|
||||
#
|
||||
# If EAPI is set then define functions provided by the current EAPI:
|
||||
#
|
||||
# * default_* aliases for the current EAPI phase functions
|
||||
# * A "default" function which is an alias for the default phase
|
||||
# function for the current phase.
|
||||
#
|
||||
__source_all_bashrcs() {
|
||||
[[ $PORTAGE_BASHRCS_SOURCED = 1 ]] && return 0
|
||||
PORTAGE_BASHRCS_SOURCED=1
|
||||
local x
|
||||
|
||||
local OCC="${CC}" OCXX="${CXX}"
|
||||
|
||||
if [[ $EBUILD_PHASE != depend ]] ; then
|
||||
# source the existing profile.bashrcs.
|
||||
while read -r x; do
|
||||
__try_source "${x}"
|
||||
done <<<"${PORTAGE_BASHRC_FILES}"
|
||||
fi
|
||||
|
||||
# The user's bashrc is the ONLY non-portage bit of code
|
||||
# that can change shopts without a QA violation.
|
||||
__try_source --no-qa "${PORTAGE_BASHRC}"
|
||||
|
||||
if [[ $EBUILD_PHASE != depend ]] ; then
|
||||
__source_env_files --no-qa "${PM_EBUILD_HOOK_DIR}"
|
||||
fi
|
||||
|
||||
[ ! -z "${OCC}" ] && export CC="${OCC}"
|
||||
[ ! -z "${OCXX}" ] && export CXX="${OCXX}"
|
||||
}
|
||||
|
||||
# @FUNCTION: __source_env_files
|
||||
# @USAGE: [--no-qa] <ENV_DIRECTORY>
|
||||
# @DESCRIPTION:
|
||||
# Source the files relevant to the current package from the given path.
|
||||
# If --no-qa is specified, use source instead of __qa_source to source the
|
||||
# files.
|
||||
__source_env_files() {
|
||||
local argument=()
|
||||
if [[ $1 == --no-qa ]]; then
|
||||
argument=( --no-qa )
|
||||
shift
|
||||
fi
|
||||
for x in "${1}"/${CATEGORY}/{${PN},${PN}:${SLOT%/*},${P},${PF}}; do
|
||||
__try_source "${argument[@]}" "${x}"
|
||||
done
|
||||
}
|
||||
|
||||
# @FUNCTION: __try_source
|
||||
# @USAGE: [--no-qa] <FILE>
|
||||
# @DESCRIPTION:
|
||||
# If the path given as argument exists, source the file while preserving
|
||||
# $-.
|
||||
# If --no-qa is specified, source the file with source instead of __qa_source.
|
||||
__try_source() {
|
||||
local qa=true
|
||||
if [[ $1 == --no-qa ]]; then
|
||||
qa=false
|
||||
shift
|
||||
fi
|
||||
if [[ -r $1 && -f $1 ]]; then
|
||||
local debug_on=false
|
||||
if [[ "$PORTAGE_DEBUG" == "1" ]] && [[ "${-/x/}" == "$-" ]]; then
|
||||
debug_on=true
|
||||
fi
|
||||
$debug_on && set -x
|
||||
# If $- contains x, then tracing has already been enabled
|
||||
# elsewhere for some reason. We preserve it's state so as
|
||||
# not to interfere.
|
||||
if ! ${qa} ; then
|
||||
source "${1}"
|
||||
else
|
||||
__qa_source "${1}"
|
||||
fi
|
||||
$debug_on && set +x
|
||||
fi
|
||||
}
|
||||
# === === === === === === === === === === === === === === === === === ===
|
||||
# === === === === === functions end, main part begins === === === === ===
|
||||
# === === === === === === === === === === === === === === === === === ===
|
||||
|
||||
export SANDBOX_ON="1"
|
||||
export S=${WORKDIR}/${P}
|
||||
|
||||
# Turn of extended glob matching so that g++ doesn't get incorrectly matched.
|
||||
shopt -u extglob
|
||||
|
||||
if [[ ${EBUILD_PHASE} == depend ]] ; then
|
||||
QA_INTERCEPTORS="awk bash cc egrep equery fgrep g++
|
||||
gawk gcc grep javac java-config nawk perl
|
||||
pkg-config python python-config sed"
|
||||
elif [[ ${EBUILD_PHASE} == clean* ]] ; then
|
||||
unset QA_INTERCEPTORS
|
||||
else
|
||||
QA_INTERCEPTORS="autoconf automake aclocal libtoolize"
|
||||
fi
|
||||
# level the QA interceptors if we're in depend
|
||||
if [[ -n ${QA_INTERCEPTORS} ]] ; then
|
||||
for BIN in ${QA_INTERCEPTORS}; do
|
||||
BIN_PATH=$(type -Pf ${BIN})
|
||||
if [ "$?" != "0" ]; then
|
||||
BODY="echo \"*** missing command: ${BIN}\" >&2; return 127"
|
||||
else
|
||||
BODY="${BIN_PATH} \"\$@\"; return \$?"
|
||||
fi
|
||||
if [[ ${EBUILD_PHASE} == depend ]] ; then
|
||||
FUNC_SRC="${BIN}() {
|
||||
if [ \$ECLASS_DEPTH -gt 0 ]; then
|
||||
eqawarn \"QA Notice: '${BIN}' called in global scope: eclass \${ECLASS}\"
|
||||
else
|
||||
eqawarn \"QA Notice: '${BIN}' called in global scope: \${CATEGORY}/\${PF}\"
|
||||
fi
|
||||
${BODY}
|
||||
}"
|
||||
elif has ${BIN} autoconf automake aclocal libtoolize ; then
|
||||
FUNC_SRC="${BIN}() {
|
||||
if ! has \${FUNCNAME[1]} eautoreconf eaclocal _elibtoolize \\
|
||||
eautoheader eautoconf eautomake autotools_run_tool \\
|
||||
autotools_check_macro autotools_get_subdirs \\
|
||||
autotools_get_auxdir ; then
|
||||
eqawarn \"QA Notice: '${BIN}' called by \${FUNCNAME[1]}: \${CATEGORY}/\${PF}\"
|
||||
eqawarn \"Use autotools.eclass instead of calling '${BIN}' directly.\"
|
||||
fi
|
||||
${BODY}
|
||||
}"
|
||||
else
|
||||
FUNC_SRC="${BIN}() {
|
||||
eqawarn \"QA Notice: '${BIN}' called by \${FUNCNAME[1]}: \${CATEGORY}/\${PF}\"
|
||||
${BODY}
|
||||
}"
|
||||
fi
|
||||
eval "$FUNC_SRC" || echo "error creating QA interceptor ${BIN}" >&2
|
||||
done
|
||||
unset BIN_PATH BIN BODY FUNC_SRC
|
||||
fi
|
||||
|
||||
# Subshell/helper die support (must export for the die helper).
|
||||
export EBUILD_MASTER_PID=${BASHPID:-$(__bashpid)}
|
||||
trap 'exit 1' SIGTERM
|
||||
|
||||
if ! has "$EBUILD_PHASE" clean cleanrm depend && \
|
||||
! [[ $EMERGE_FROM = ebuild && $EBUILD_PHASE = setup ]] && \
|
||||
[ -f "${T}"/environment ] ; then
|
||||
# The environment may have been extracted from environment.bz2 or
|
||||
# may have come from another version of ebuild.sh or something.
|
||||
# In any case, preprocess it to prevent any potential interference.
|
||||
# NOTE: export ${FOO}=... requires quoting, unlike normal exports
|
||||
__preprocess_ebuild_env || \
|
||||
die "error processing environment"
|
||||
# Colon separated SANDBOX_* variables need to be cumulative.
|
||||
for x in SANDBOX_DENY SANDBOX_READ SANDBOX_PREDICT SANDBOX_WRITE ; do
|
||||
export PORTAGE_${x}="${!x}"
|
||||
done
|
||||
PORTAGE_SANDBOX_ON=${SANDBOX_ON}
|
||||
export SANDBOX_ON=1
|
||||
source "${T}"/environment || \
|
||||
die "error sourcing environment"
|
||||
# We have to temporarily disable sandbox since the
|
||||
# SANDBOX_{DENY,READ,PREDICT,WRITE} values we've just loaded
|
||||
# may be unusable (triggering in spurious sandbox violations)
|
||||
# until we've merged them with our current values.
|
||||
export SANDBOX_ON=0
|
||||
for x in SANDBOX_DENY SANDBOX_PREDICT SANDBOX_READ SANDBOX_WRITE ; do
|
||||
y="PORTAGE_${x}"
|
||||
if [ -z "${!x}" ] ; then
|
||||
export ${x}="${!y}"
|
||||
elif [ -n "${!y}" ] && [ "${!y}" != "${!x}" ] ; then
|
||||
# filter out dupes
|
||||
export ${x}="$(printf "${!y}:${!x}" | tr ":" "\0" | \
|
||||
sort -z -u | tr "\0" ":")"
|
||||
fi
|
||||
export ${x}="${!x%:}"
|
||||
unset PORTAGE_${x}
|
||||
done
|
||||
unset x y
|
||||
export SANDBOX_ON=${PORTAGE_SANDBOX_ON}
|
||||
unset PORTAGE_SANDBOX_ON
|
||||
[[ -n $EAPI ]] || EAPI=0
|
||||
fi
|
||||
|
||||
if ___eapi_enables_globstar; then
|
||||
shopt -s globstar
|
||||
fi
|
||||
|
||||
# Convert quoted paths to array.
|
||||
eval "PORTAGE_ECLASS_LOCATIONS=(${PORTAGE_ECLASS_LOCATIONS})"
|
||||
|
||||
# Source the ebuild every time for FEATURES=noauto, so that ebuild
|
||||
# modifications take effect immediately.
|
||||
if ! has "$EBUILD_PHASE" clean cleanrm ; then
|
||||
if [[ $EBUILD_PHASE = setup && $EMERGE_FROM = ebuild ]] || \
|
||||
[[ $EBUILD_PHASE = depend || ! -f $T/environment || \
|
||||
-f $PORTAGE_BUILDDIR/.ebuild_changed || \
|
||||
" ${FEATURES} " == *" noauto "* ]] ; then
|
||||
# The bashrcs get an opportunity here to set aliases that will be expanded
|
||||
# during sourcing of ebuilds and eclasses.
|
||||
__source_all_bashrcs
|
||||
|
||||
# When EBUILD_PHASE != depend, INHERITED comes pre-initialized
|
||||
# from cache. In order to make INHERITED content independent of
|
||||
# EBUILD_PHASE during inherit() calls, we unset INHERITED after
|
||||
# we make a backup copy for QA checks.
|
||||
__INHERITED_QA_CACHE=$INHERITED
|
||||
|
||||
# Catch failed globbing attempts in case ebuild writer forgot to
|
||||
# escape '*' or likes.
|
||||
# Note: this needs to be done before unsetting EAPI.
|
||||
if ___eapi_enables_failglob_in_global_scope; then
|
||||
shopt -s failglob
|
||||
fi
|
||||
|
||||
# *DEPEND and IUSE will be set during the sourcing of the ebuild.
|
||||
# In order to ensure correct interaction between ebuilds and
|
||||
# eclasses, they need to be unset before this process of
|
||||
# interaction begins.
|
||||
unset EAPI DEPEND RDEPEND PDEPEND HDEPEND BDEPEND
|
||||
unset INHERITED IUSE REQUIRED_USE ECLASS E_IUSE E_REQUIRED_USE
|
||||
unset E_DEPEND E_RDEPEND E_PDEPEND E_HDEPEND E_BDEPEND
|
||||
unset PROVIDES_EXCLUDE REQUIRES_EXCLUDE
|
||||
|
||||
if [[ $PORTAGE_DEBUG != 1 || ${-/x/} != $- ]] ; then
|
||||
source "$EBUILD" || die "error sourcing ebuild"
|
||||
else
|
||||
set -x
|
||||
source "$EBUILD" || die "error sourcing ebuild"
|
||||
set +x
|
||||
fi
|
||||
|
||||
if ___eapi_enables_failglob_in_global_scope; then
|
||||
shopt -u failglob
|
||||
fi
|
||||
|
||||
if [[ "${EBUILD_PHASE}" != "depend" ]] ; then
|
||||
RESTRICT=${PORTAGE_RESTRICT}
|
||||
[[ -e $PORTAGE_BUILDDIR/.ebuild_changed ]] && \
|
||||
rm "$PORTAGE_BUILDDIR/.ebuild_changed"
|
||||
fi
|
||||
|
||||
[ "${EAPI+set}" = set ] || EAPI=0
|
||||
|
||||
# export EAPI for helpers (especially since we unset it above)
|
||||
export EAPI
|
||||
|
||||
if ___eapi_has_RDEPEND_DEPEND_fallback; then
|
||||
export RDEPEND=${RDEPEND-${DEPEND}}
|
||||
debug-print "RDEPEND: not set... Setting to: ${DEPEND}"
|
||||
fi
|
||||
|
||||
# add in dependency info from eclasses
|
||||
IUSE+="${IUSE:+ }${E_IUSE}"
|
||||
DEPEND+="${DEPEND:+ }${E_DEPEND}"
|
||||
RDEPEND+="${RDEPEND:+ }${E_RDEPEND}"
|
||||
PDEPEND+="${PDEPEND:+ }${E_PDEPEND}"
|
||||
HDEPEND+="${HDEPEND:+ }${E_HDEPEND}"
|
||||
BDEPEND+="${BDEPEND:+ }${E_BDEPEND}"
|
||||
REQUIRED_USE+="${REQUIRED_USE:+ }${E_REQUIRED_USE}"
|
||||
|
||||
unset ECLASS E_IUSE E_REQUIRED_USE E_DEPEND E_RDEPEND E_PDEPEND
|
||||
unset E_HDEPEND E_BDEPEND __INHERITED_QA_CACHE
|
||||
|
||||
# alphabetically ordered by $EBUILD_PHASE value
|
||||
case ${EAPI} in
|
||||
0|1)
|
||||
_valid_phases="src_compile pkg_config pkg_info src_install
|
||||
pkg_nofetch pkg_postinst pkg_postrm pkg_preinst pkg_prerm
|
||||
pkg_setup src_test src_unpack"
|
||||
;;
|
||||
2|3)
|
||||
_valid_phases="src_compile pkg_config src_configure pkg_info
|
||||
src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst
|
||||
src_prepare pkg_prerm pkg_setup src_test src_unpack"
|
||||
;;
|
||||
*)
|
||||
_valid_phases="src_compile pkg_config src_configure pkg_info
|
||||
src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst
|
||||
src_prepare pkg_prerm pkg_pretend pkg_setup src_test src_unpack"
|
||||
;;
|
||||
esac
|
||||
|
||||
DEFINED_PHASES=
|
||||
for _f in $_valid_phases ; do
|
||||
if declare -F $_f >/dev/null ; then
|
||||
_f=${_f#pkg_}
|
||||
DEFINED_PHASES+=" ${_f#src_}"
|
||||
fi
|
||||
done
|
||||
[[ -n $DEFINED_PHASES ]] || DEFINED_PHASES=-
|
||||
|
||||
unset _f _valid_phases
|
||||
|
||||
if [[ $EBUILD_PHASE != depend ]] ; then
|
||||
|
||||
if has distcc $FEATURES ; then
|
||||
[[ -n $DISTCC_LOG ]] && addwrite "${DISTCC_LOG%/*}"
|
||||
fi
|
||||
|
||||
if has ccache $FEATURES ; then
|
||||
|
||||
if [[ -n $CCACHE_DIR ]] ; then
|
||||
addread "$CCACHE_DIR"
|
||||
addwrite "$CCACHE_DIR"
|
||||
fi
|
||||
|
||||
[[ -n $CCACHE_SIZE ]] && ccache -M $CCACHE_SIZE &> /dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if has nostrip ${FEATURES} ${RESTRICT} || has strip ${RESTRICT}
|
||||
then
|
||||
export DEBUGBUILD=1
|
||||
fi
|
||||
|
||||
if [[ $EBUILD_PHASE = depend ]] ; then
|
||||
export SANDBOX_ON="0"
|
||||
set -f
|
||||
|
||||
if [ -n "${dbkey}" ] ; then
|
||||
if [ ! -d "${dbkey%/*}" ]; then
|
||||
install -d -g ${PORTAGE_GID} -m2775 "${dbkey%/*}"
|
||||
fi
|
||||
# Make it group writable. 666&~002==664
|
||||
umask 002
|
||||
fi
|
||||
|
||||
auxdbkeys="DEPEND RDEPEND SLOT SRC_URI RESTRICT HOMEPAGE LICENSE
|
||||
DESCRIPTION KEYWORDS INHERITED IUSE REQUIRED_USE PDEPEND BDEPEND
|
||||
EAPI PROPERTIES DEFINED_PHASES HDEPEND UNUSED_04
|
||||
UNUSED_03 UNUSED_02 UNUSED_01"
|
||||
|
||||
if ! ___eapi_has_HDEPEND; then
|
||||
unset HDEPEND
|
||||
fi
|
||||
if ! ___eapi_has_BDEPEND; then
|
||||
unset BDEPEND
|
||||
fi
|
||||
|
||||
# The extra $(echo) commands remove newlines.
|
||||
if [ -n "${dbkey}" ] ; then
|
||||
> "${dbkey}"
|
||||
for f in ${auxdbkeys} ; do
|
||||
echo $(echo ${!f}) >> "${dbkey}" || exit $?
|
||||
done
|
||||
else
|
||||
for f in ${auxdbkeys} ; do
|
||||
eval "echo \$(echo \${!f}) 1>&${PORTAGE_PIPE_FD}" || exit $?
|
||||
done
|
||||
eval "exec ${PORTAGE_PIPE_FD}>&-"
|
||||
fi
|
||||
set +f
|
||||
else
|
||||
# Note: readonly variables interfere with __preprocess_ebuild_env(), so
|
||||
# declare them only after it has already run.
|
||||
declare -r $PORTAGE_READONLY_METADATA $PORTAGE_READONLY_VARS
|
||||
if ___eapi_has_prefix_variables; then
|
||||
declare -r ED EPREFIX EROOT
|
||||
fi
|
||||
if ___eapi_has_BROOT; then
|
||||
declare -r BROOT
|
||||
fi
|
||||
|
||||
# If ${EBUILD_FORCE_TEST} == 1 and USE came from ${T}/environment
|
||||
# then it might not have USE=test like it's supposed to here.
|
||||
if [[ ${EBUILD_PHASE} == test && ${EBUILD_FORCE_TEST} == 1 ]] &&
|
||||
___in_portage_iuse test && ! has test ${USE} ; then
|
||||
export USE="${USE} test"
|
||||
fi
|
||||
declare -r USE
|
||||
|
||||
if [[ -n $EBUILD_SH_ARGS ]] ; then
|
||||
(
|
||||
# Don't allow subprocesses to inherit the pipe which
|
||||
# emerge uses to monitor ebuild.sh.
|
||||
if [[ -n ${PORTAGE_PIPE_FD} ]] ; then
|
||||
eval "exec ${PORTAGE_PIPE_FD}>&-"
|
||||
unset PORTAGE_PIPE_FD
|
||||
fi
|
||||
__ebuild_main ${EBUILD_SH_ARGS}
|
||||
exit 0
|
||||
)
|
||||
exit $?
|
||||
fi
|
||||
fi
|
||||
|
||||
# Do not exit when ebuild.sh is sourced by other scripts.
|
||||
true
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol (meta package)"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
# some use flags are fake, used to mimic portage ebuild USE flags
|
||||
IUSE="caps emacs gnome-keyring gtk ncurses qt5 static"
|
||||
|
||||
RDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
caps? ( ~app-crypt/pinentry-base-${PV}[caps] )
|
||||
gnome-keyring? ( ~app-crypt/pinentry-gnome-${PV} )
|
||||
gtk? ( ~app-crypt/pinentry-gtk2-${PV} )
|
||||
qt5? ( ~app-crypt/pinentry-qt5-${PV} )
|
||||
static? ( ~app-crypt/pinentry-base-${PV}[static] )"
|
||||
DEPEND=""
|
||||
|
||||
REQUIRED_USE="
|
||||
|| ( ncurses gtk qt5 )
|
||||
gtk? ( !static )
|
||||
qt5? ( !static )
|
||||
static? ( ncurses )
|
||||
"
|
28
tests/fixtures/overlay/app-crypt/pinentry/pinentry-1.1.0-r2.ebuild
vendored
Normal file
28
tests/fixtures/overlay/app-crypt/pinentry/pinentry-1.1.0-r2.ebuild
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol (meta package)"
|
||||
HOMEPAGE="https://gnupg.org/aegypten2/index.html"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm ~amd64 ~x86"
|
||||
# some use flags are fake, used to mimic portage ebuild USE flags
|
||||
IUSE="caps emacs gnome-keyring fltk gtk ncurses qt5 static"
|
||||
|
||||
RDEPEND="
|
||||
~app-crypt/pinentry-base-${PV}
|
||||
caps? ( ~app-crypt/pinentry-base-${PV}[caps] )
|
||||
gnome-keyring? ( ~app-crypt/pinentry-gnome-${PV} )
|
||||
gtk? ( ~app-crypt/pinentry-gtk2-${PV} )
|
||||
qt5? ( ~app-crypt/pinentry-qt5-${PV} )
|
||||
static? ( ~app-crypt/pinentry-base-${PV}[static] )"
|
||||
DEPEND=""
|
||||
|
||||
REQUIRED_USE="
|
||||
gtk? ( !static )
|
||||
qt5? ( !static )
|
||||
"
|
Reference in New Issue
Block a user