summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2017-09-03 16:08:26 +0200
committerGilles Dartiguelongue <eva@gentoo.org>2017-09-03 18:15:32 +0200
commitb2d385b19200e3a77322e25d28ddd6dcb7d137fc (patch)
tree2f6bdff30a33a72b407a39228e3746c90f9fdc4b /x11-libs/gksu
parentapp-text/gtkspell: version bump 3.0.7 → 3.0.9, bug #629760 (diff)
downloadgentoo-b2d385b19200e3a77322e25d28ddd6dcb7d137fc.tar.gz
gentoo-b2d385b19200e3a77322e25d28ddd6dcb7d137fc.tar.bz2
gentoo-b2d385b19200e3a77322e25d28ddd6dcb7d137fc.zip
x11-libs/gksu: fix build with format-security, bug #517664
Bump to EAPI=6. Fix non-existant gtk-doc support. Use src_configure instead of G2CONF. Closes: https://bugs.gentoo.org/show_bug.cgi?id=517664 Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'x11-libs/gksu')
-rw-r--r--x11-libs/gksu/files/gksu-2.0.2-format_security.patch37
-rw-r--r--x11-libs/gksu/gksu-2.0.2-r2.ebuild85
2 files changed, 122 insertions, 0 deletions
diff --git a/x11-libs/gksu/files/gksu-2.0.2-format_security.patch b/x11-libs/gksu/files/gksu-2.0.2-format_security.patch
new file mode 100644
index 000000000000..ca87e9af9952
--- /dev/null
+++ b/x11-libs/gksu/files/gksu-2.0.2-format_security.patch
@@ -0,0 +1,37 @@
+Description: Fix possible format string vulnerabilities
+Author: Michael Biebl <biebl@debian.org>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=643389
+Index: gksu-2.0.2/gksu/gksu.c
+===================================================================
+--- gksu-2.0.2.orig/gksu/gksu.c 2009-03-04 19:25:32.000000000 +0100
++++ gksu-2.0.2/gksu/gksu.c 2011-10-10 18:31:04.599677143 +0200
+@@ -146,9 +146,12 @@
+ msg = g_strdup_vprintf(format, ap);
+ va_end(ap);
+
+- diag_win = gtk_message_dialog_new_with_markup (NULL, GTK_DIALOG_MODAL,
+- type, GTK_BUTTONS_CLOSE,
+- msg);
++ diag_win = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
++ type, GTK_BUTTONS_CLOSE,
++ NULL);
++
++ gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG(diag_win),
++ msg);
+
+ gtk_signal_connect_object (GTK_OBJECT(diag_win), "delete_event",
+ GTK_SIGNAL_FUNC(gtk_main_quit),
+@@ -176,12 +179,7 @@
+ g_key_file_load_from_file (desktop, file_name, G_KEY_FILE_NONE, &error);
+ if (error)
+ {
+- gchar *error_msg;
+-
+- error_msg = g_strdup_printf ("Could not load desktop file: %s",
+- error->message);
+- g_warning (error_msg);
+- g_free (error_msg);
++ g_warning ("Could not load desktop file: %s", error->message);
+ g_error_free (error);
+ g_key_file_free (desktop);
+ return;
diff --git a/x11-libs/gksu/gksu-2.0.2-r2.ebuild b/x11-libs/gksu/gksu-2.0.2-r2.ebuild
new file mode 100644
index 000000000000..13bd353f9724
--- /dev/null
+++ b/x11-libs/gksu/gksu-2.0.2-r2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools gnome2 fixheadtails
+
+DESCRIPTION="A gtk+ frontend for libgksu"
+HOMEPAGE="http://www.nongnu.org/gksu/"
+SRC_URI="https://people.debian.org/~kov/gksu/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="gnome"
+
+RDEPEND="
+ >=x11-libs/libgksu-2.0.8
+ >=x11-libs/gtk+-2.4:2
+ >=gnome-base/gconf-2
+ gnome? (
+ >=gnome-base/nautilus-2
+ x11-terms/gnome-terminal )
+"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ dev-util/intltool
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ ht_fix_file "${S}/gksu-migrate-conf.sh"
+
+ # https://savannah.nongnu.org/bugs/index.php?36127
+ eapply "${FILESDIR}"/${PN}-2.0.2-glib-2.31.patch
+
+ if use gnome ; then
+ sed 's/x-terminal-emulator/gnome-terminal/' \
+ -i gksu.desktop || die "sed 1 failed"
+
+ # Conditional patch to avoid eautoreconf
+ # https://savannah.nongnu.org/bugs/index.php?36129
+ eapply "${FILESDIR}"/${PN}-2.0.2-nautilus-dir.patch
+
+ sed -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -i configure.ac || die #467024
+
+ eautoreconf
+ else
+ sed 's/dist_desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)/dist_desktop_DATA =/' \
+ -i Makefile.am Makefile.in || die "sed 2 failed"
+ fi
+
+ # Fix build with format-security, bug #517664
+ eapply "${FILESDIR}"/${PN}-2.0.2-format_security.patch
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-static \
+ $(use_enable gnome nautilus-extension)
+}
+
+src_install() {
+ gnome2_src_install
+ chmod +x "${D}/usr/share/gksu/gksu-migrate-conf.sh"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ einfo 'updating configuration'
+ "${ROOT}"/usr/share/gksu/gksu-migrate-conf.sh
+ einfo ""
+ einfo "A note on gksudo: It actually runs sudo to get it's work done"
+ einfo "However, by default, Gentoo's sudo wipes your environment."
+ einfo "This means that gksudo will fail to run any X-based programs."
+ einfo "You need to either add yourself to wheel and uncomment this line"
+ einfo "in your /etc/sudoers:"
+ einfo "Defaults:%wheel !env_reset"
+ einfo "Or remove the env_reset line entirely. This can cause security"
+ einfo "problems; if you don't trust your users, don't do this, use gksu"
+ einfo "instead."
+}