From 3ecceaddca41527865e2898a46146b6c3e526980 Mon Sep 17 00:00:00 2001 From: Alexandre Rostovtsev Date: Tue, 10 Jan 2012 05:41:58 +0000 Subject: [PATCH] Add patch to not load invalid .desktop files that do not have Name or Exec keys (prevents crashes in gnome-shell and other applications that assume that all .desktop files follow freedesktop specs). Add support for cinnamon in 10-xdg-menu-gnome. Package-Manager: portage-2.2.0_alpha84/cvs/Linux x86_64 --- gnome-base/gnome-menus/ChangeLog | 12 +- gnome-base/gnome-menus/Manifest | 11 +- .../gnome-menus/files/10-xdg-menu-gnome-r1 | 6 + ...menus-3.2.0.1-ignore-invalid-entries.patch | 32 +++++ .../gnome-menus/gnome-menus-3.2.0.1-r1.ebuild | 112 ++++++++++++++++++ 5 files changed, 168 insertions(+), 5 deletions(-) create mode 100644 gnome-base/gnome-menus/files/10-xdg-menu-gnome-r1 create mode 100644 gnome-base/gnome-menus/files/gnome-menus-3.2.0.1-ignore-invalid-entries.patch create mode 100644 gnome-base/gnome-menus/gnome-menus-3.2.0.1-r1.ebuild diff --git a/gnome-base/gnome-menus/ChangeLog b/gnome-base/gnome-menus/ChangeLog index 8da9c20dace6..05dbed066582 100644 --- a/gnome-base/gnome-menus/ChangeLog +++ b/gnome-base/gnome-menus/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for gnome-base/gnome-menus # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-menus/ChangeLog,v 1.173 2012/01/01 00:36:46 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-menus/ChangeLog,v 1.174 2012/01/10 05:41:58 tetromino Exp $ + +*gnome-menus-3.2.0.1-r1 (10 Jan 2012) + + 10 Jan 2012; Alexandre Rostovtsev + +files/10-xdg-menu-gnome-r1, +gnome-menus-3.2.0.1-r1.ebuild, + +files/gnome-menus-3.2.0.1-ignore-invalid-entries.patch: + Add patch to not load invalid .desktop files that do not have Name or Exec + keys (prevents crashes in gnome-shell and other applications that assume that + all .desktop files follow freedesktop specs). Add support for cinnamon in + 10-xdg-menu-gnome. 01 Jan 2012; Alexandre Rostovtsev gnome-menus-2.30.5.ebuild, gnome-menus-3.0.1-r1.ebuild, diff --git a/gnome-base/gnome-menus/Manifest b/gnome-base/gnome-menus/Manifest index 75c088a6c5d7..542cfc0a4265 100644 --- a/gnome-base/gnome-menus/Manifest +++ b/gnome-base/gnome-menus/Manifest @@ -2,21 +2,24 @@ Hash: SHA256 AUX 10-xdg-menu-gnome 115 RMD160 3e235da94ec1e7f97be144358f105d24ca8144e8 SHA1 f4d0e6dff08acd5b06531973f1f68b5f4a640240 SHA256 d6a4938ed879f908e93d0c917db4c99321cb6fa126b79fe1e878ff2ddade963b +AUX 10-xdg-menu-gnome-r1 159 RMD160 a0e1372c398b06fb6d6590acaf8e6155f2858a4b SHA1 86b702d6926a5c3588a457f2c8c40532b1255210 SHA256 8c1f628109ed791e00857f5808dbe1d35a15575a2b36cbb764c3ea14d1ea0378 AUX gnome-menus-2.18.3-ignore_kde_standalone.patch 1208 RMD160 302201bbc2a9b4d6a673904d11ce60390268b4b5 SHA1 58880f2807bc6a11a724a15c4f626f7385e650be SHA256 6b13ae1708b5d4753f38e57e161e58bd31d0b7a9de8b78145052388b150eedb8 AUX gnome-menus-3.0.0-ignore_kde_standalone.patch 1222 RMD160 39b97747a5b87c8bc217082268fa825e767cf528 SHA1 0d9cf9fae2224a3a42ef93ca51105fa8b33f0a42 SHA256 b11842a88d41ad29ae825020432516d613d456a8f57c19ed32921a1cb4ca14fe AUX gnome-menus-3.0.2-library-only.patch 641 RMD160 246256080f229f9e0f57a62c9a76d1bf762529ea SHA1 799fbdaf3a0b7aeb9ed89e5fca9ee449b6d4cb82 SHA256 ec729f28aafceeb1a8b61142ce511190ab762bf432356aa7bddf814ee1b556e9 +AUX gnome-menus-3.2.0.1-ignore-invalid-entries.patch 1240 RMD160 b2e8e7498b9b866eeea18654e343b5ea8430ebf3 SHA1 b17d77ccd261579e2071bb5c391aaf6ee64cd5da SHA256 5c5b729828215468a8a7624497bbde20bd9210aab987accd94bfb52f35c20f20 DIST gnome-menus-2.30.5.tar.bz2 471327 RMD160 f3fafb467a7d9aaf0168236dab46f8bf82f71c26 SHA1 dcf7af8507d5678d6bb1bf705d2c4ac2238c6da5 SHA256 6dcc565006d6e8c2025ae83ab1f82edf6bd04d61c804c0dc9bf5ea50629c4caa DIST gnome-menus-3.0.1.tar.bz2 474839 RMD160 de916d4887df9a433eb858aaabf1ef91af2cd32d SHA1 e20d2b4c6ed3a19324114a5bff7ef89e058c707d SHA256 579c119c26f37781f66708e867ea45b3c37589b3b69e5b32d33e9bdb944165f0 DIST gnome-menus-3.2.0.1.tar.xz 402080 RMD160 98cdb483c0f1a16a1aa6f589a2d130484c970a42 SHA1 8b4bba2f1bb5d8533f7cd241016719ef42cb0ebf SHA256 17e2ea745b1e80fba4f6ec03c4bac561aa6e7ca275fcc79a3df3d318cb64972b EBUILD gnome-menus-2.30.5.ebuild 2563 RMD160 b8b9b32bb2603e21b3b781ef722fbad9c5e4fe1e SHA1 90a5eca56255a5ec9bfeff5e5f269f1c01fde94d SHA256 e755864ba29ca8afac023778c194bfb44760f87b7fde3cc0df165f38cdbb9689 EBUILD gnome-menus-3.0.1-r1.ebuild 1931 RMD160 73fe418554cafda9eee29fa36e5470b3ade22e94 SHA1 8372e5f9b4010d22d3d88155a8da8a37605c178b SHA256 3266e73fe78dedf39a6d4cca7a0c82efc75a49be194688a0854bdbe9bf4a04d9 +EBUILD gnome-menus-3.2.0.1-r1.ebuild 2893 RMD160 8d0100ea3e306a2423448157d2a67fd65db89c5f SHA1 0c267246172e271face653eb68e7c80810145f3b SHA256 4c001b43be2afae4f118197fecd3a8a6d69926503c53028490b04bc6dc22b3e1 EBUILD gnome-menus-3.2.0.1.ebuild 2744 RMD160 018dc3f59aab2a62b54d74048531200dead22048 SHA1 c20f360ba7473701ff1dd94fa8ef2580e0f5200d SHA256 8e31fee4205ac7b6cb7bb68a188ad91186158ff21840d1ce2a921020ea87e4fb -MISC ChangeLog 24101 RMD160 68d7d2093e85fe3a1a1b9384a36ca6ea8de4dbf5 SHA1 6e0ea3def7e4bfa006f0ffee51ddc060ff6caa20 SHA256 065e456cc1f1cf5a53b4ea2a96cfcffb925778349c5af4cd876aa9eed0d440d2 +MISC ChangeLog 24576 RMD160 4bcd9b2e7fb229c799cacdcb86c3bc50f7d72903 SHA1 c1531b69d87782b9b53385396a9bdc77c0a116f0 SHA256 fbf7aeb1fa63da9a4265e8c778b101ac0dab4072ec25aea942925b0de9ba8216 MISC metadata.xml 277 RMD160 2ffb105a089a3b759ddef20bf72b06362a1d1c63 SHA1 82aa8cfe90fb0c9f7c02f295d2802d41ad2af380 SHA256 3d52f90556a9db4ad09f2fbe34e2d25b21f345e474e829ac84669d49cb64c8bb -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iF4EAREIAAYFAk7/qqQACgkQdjK8w9WeBnBG8QD/f90rTbWKV3xpzcVWxIvKorZc -MKvzto0cMR9EZIvLljoBAJKWNdd9eGWLva28+Hs9A9fkYpnq9d/QN/cb7YhNRNv5 -=wJr4 +iF4EAREIAAYFAk8Lz6sACgkQdjK8w9WeBnBNbAEAltOW63q+ENX4e2IclXDBS5Ab +M9aAyJtHK8v2LYKkWPcA/1fOelRV77Po+lrEByKbTQ+dJIWjEcNo1vo+yE+23Dbv +=e3G0 -----END PGP SIGNATURE----- diff --git a/gnome-base/gnome-menus/files/10-xdg-menu-gnome-r1 b/gnome-base/gnome-menus/files/10-xdg-menu-gnome-r1 new file mode 100644 index 000000000000..4bbf86381083 --- /dev/null +++ b/gnome-base/gnome-menus/files/10-xdg-menu-gnome-r1 @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -z "$XDG_MENU_PREFIX" ] && { [ "$DESKTOP_SESSION" = "gnome" ] || [ "$DESKTOP_SESSION" = "cinnamon" ]; } +then + export XDG_MENU_PREFIX=gnome- +fi diff --git a/gnome-base/gnome-menus/files/gnome-menus-3.2.0.1-ignore-invalid-entries.patch b/gnome-base/gnome-menus/files/gnome-menus-3.2.0.1-ignore-invalid-entries.patch new file mode 100644 index 000000000000..ec4144da9e29 --- /dev/null +++ b/gnome-base/gnome-menus/files/gnome-menus-3.2.0.1-ignore-invalid-entries.patch @@ -0,0 +1,32 @@ +From a09c25177a5643f8596dc81d97b87ebce74c75f9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Fri, 21 Oct 2011 19:57:55 +0200 +Subject: [PATCH] libmenu: Ignore invalid desktop entries + +Both "Name" and "Exec" are mandatory keys according to the desktop +entry spec; some .desktop files missing one or the other have been +spotted in the while, so ignore them explicitly. + +https://bugzilla.gnome.org/show_bug.cgi?id=662409 +--- + libmenu/desktop-entries.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c +index bb6076d..a8c13d9 100644 +--- a/libmenu/desktop-entries.c ++++ b/libmenu/desktop-entries.c +@@ -256,7 +256,9 @@ desktop_entry_load (DesktopEntry *entry) + const char *categories_str; + + entry_desktop->appinfo = g_desktop_app_info_new_from_filename (entry->path); +- if (!entry_desktop->appinfo) ++ if (!entry_desktop->appinfo || ++ !g_app_info_get_name (G_APP_INFO (entry_desktop->appinfo)) || ++ !g_app_info_get_executable (G_APP_INFO (entry_desktop->appinfo))) + { + menu_verbose ("Failed to load \"%s\"\n", entry->path); + return FALSE; +-- +1.7.8.3 + diff --git a/gnome-base/gnome-menus/gnome-menus-3.2.0.1-r1.ebuild b/gnome-base/gnome-menus/gnome-menus-3.2.0.1-r1.ebuild new file mode 100644 index 000000000000..124954fd0baf --- /dev/null +++ b/gnome-base/gnome-menus/gnome-menus-3.2.0.1-r1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-menus/gnome-menus-3.2.0.1-r1.ebuild,v 1.1 2012/01/10 05:41:58 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" + +PYTHON_DEPEND="2:2.4" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.*" + +inherit eutils gnome2 python + +DESCRIPTION="The GNOME menu system, implementing the F.D.O cross-desktop spec" +HOMEPAGE="http://www.gnome.org" + +LICENSE="GPL-2 LGPL-2" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" + +# +python for gmenu-simple-editor +IUSE="debug +introspection +python test" + +COMMON_DEPEND=">=dev-libs/glib-2.29.15:2 + introspection? ( >=dev-libs/gobject-introspection-0.9.5 ) + python? ( + >=dev-libs/gobject-introspection-0.9.5 + dev-python/pygobject:3 + x11-libs/gdk-pixbuf:2[introspection] + x11-libs/gtk+:3[introspection] )" +# Older versions of slot 0 install the menu editor and the desktop directories +RDEPEND="${COMMON_DEPEND} + ! py-compile + + python_copy_sources +} + +src_configure() { + python_execute_function -s gnome2_src_configure +} + +src_compile() { + python_execute_function -s gnome2_src_compile +} + +src_test() { + python_execute_function -s -d +} + +src_install() { + python_execute_function -s gnome2_src_install + python_clean_installation_image + + # Prefix menu, bug #256614 + mv "${ED}"/etc/xdg/menus/applications.menu \ + "${ED}"/etc/xdg/menus/gnome-applications.menu || die "menu move failed" + + exeinto /etc/X11/xinit/xinitrc.d/ + newexe "${FILESDIR}/10-xdg-menu-gnome-r1" 10-xdg-menu-gnome +} + +pkg_postinst() { + gnome2_pkg_postinst + if use python; then + python_mod_optimize GMenuSimpleEditor + fi +} + +pkg_postrm() { + gnome2_pkg_postrm + if use python; then + python_mod_cleanup GMenuSimpleEditor + fi +} -- 2.26.2