Summary: | dev-libs/glib tests removes /usr/share/applications/gedit.desktop in real system | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Pacho Ramos <pacho> |
Component: | [OLD] GNOME | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://bugzilla.gnome.org/show_bug.cgi?id=608421 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Pacho Ramos
2009-12-20 19:01:43 UTC
Running in grep in sources dir has the following: $ grep -r gedit * ChangeLog.pre-2-0: looking for more.com and regedit. docs/reference/glib/html/glib-Bookmark-file-parser.html: <bookmark:application name=<span class="number">"GEdit"</span> count=<span class="number">"2"</span> exec=<span class="number">"gedit </span><span class="symbol">%u</span><span class="number">"</span> timestamp=<span class="number">"1115726763"</span>/> docs/reference/glib/tmpl/bookmarkfile.sgml: <bookmark:application name="GEdit" count="2" exec="gedit %u" timestamp="1115726763"/> gio/glocalfileoutputstream.c:/* Some of the file replacement code was based on the code from gedit, gio/tests/desktop-app-info.c: if (g_file_test ("/usr/share/applications/gedit.desktop", G_FILE_TEST_EXISTS)) gio/tests/desktop-app-info.c: info = (GAppInfo*)g_desktop_app_info_new ("gedit.desktop"); tests/testglib.c: g_print ("found regedit as %s\n", g_find_program_in_path ("regedit")); tests/markups/fail-35.gmarkup:<foo>gedit&</foo> Maybe the culprit is in gio/tests/desktop-app-info.c What really surprises me is how the test can remove desktop file in REAL system (I thought sandbox would prevent it) sandbox should indeed stop such thing to happen. Adding sandbox to CC so they can enlighten us. glib calls remove() which no one uses and so sandbox has never wrapped it. i'll update sandbox to catch it, but glib's test is going to start failing, so ... fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/sandbox.git;a=commitdiff;h=2b8b95c186881a5abe295efba52d54ee7b8f4979 now the glib test throws: F: remove S: deny P: /usr/share/applications/gedit.desktop A: /usr/share/applications/gedit.desktop R: /usr/share/applications/gedit.desktop C: /var/tmp/portage/dev-libs/glib-2.22.3/work/glib-2.22.3/gio/tests/.libs/desktop-app-info or rather, it might not since there's an addpredict in src_test by default. the output i posted is a manual sandbox run to show the remove() is caught. so you might not have to change anything and we can consider the issue fixed with sandbox-2.3+. thanks vapier, we'll try to see if we can make upstream stop trying to do tests with real data so we can drop the predict stuff hopefully. added a workaround to 2.22.4 ebuild, keeping this bug open until it's reported upstream. Done |