diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2017-09-03 16:08:26 +0200 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2017-09-03 18:15:32 +0200 |
commit | b2d385b19200e3a77322e25d28ddd6dcb7d137fc (patch) | |
tree | 2f6bdff30a33a72b407a39228e3746c90f9fdc4b /x11-libs/gksu | |
parent | app-text/gtkspell: version bump 3.0.7 → 3.0.9, bug #629760 (diff) | |
download | gentoo-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.patch | 37 | ||||
-rw-r--r-- | x11-libs/gksu/gksu-2.0.2-r2.ebuild | 85 |
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." +} |