On Sun, Apr 03, 2016 at 10:30:30AM +0800, 宋文武 wrote: > * gnu/packages/glib.scm (glib)[sources]: Remove glib-tests-desktop.patch, > glib-tests-prlimit.patch and glib-tests-gapplicatiotn.patch. > [arguments]: Add 'disable-falling-tests' phase. > * gnu/packages/patches/glib-tests-timer.patch: Adjust accordingly. > * gnu/packages/patches/glib-tests-desktop.patch, > gnu/packages/patches/glib-tests-gapplication.patch, > gnu/packages/patches/glib-tests-prlimit.patch: Remove files. > * gnu-system.am (dist_patch_DATA): Remove them. > --- > gnu-system.am | 3 - > gnu/packages/glib.scm | 75 ++++++++--- > gnu/packages/patches/glib-tests-desktop.patch | 138 > --------------------- > gnu/packages/patches/glib-tests-gapplication.patch | 28 ----- > gnu/packages/patches/glib-tests-prlimit.patch | 14 --- > gnu/packages/patches/glib-tests-timer.patch | 11 -- > 6 files changed, 61 insertions(+), 208 deletions(-) > delete mode 100644 gnu/packages/patches/glib-tests-desktop.patch > delete mode 100644 gnu/packages/patches/glib-tests-gapplication.patch > delete mode 100644 gnu/packages/patches/glib-tests-prlimit.patch > > diff --git a/gnu-system.am b/gnu-system.am > index 293bda3..0930455 100644 > --- a/gnu-system.am > +++ b/gnu-system.am > @@ -485,10 +485,7 @@ dist_patch_DATA = > \ > gnu/packages/patches/ghostscript-CVE-2015-3228.patch \ > gnu/packages/patches/ghostscript-runpath.patch \ > gnu/packages/patches/glib-networking-ssl-cert-file.patch \ > - gnu/packages/patches/glib-tests-desktop.patch \ > - gnu/packages/patches/glib-tests-prlimit.patch \ > gnu/packages/patches/glib-tests-timer.patch \ > - gnu/packages/patches/glib-tests-gapplication.patch \ > gnu/packages/patches/glibc-CVE-2015-7547.patch \ > gnu/packages/patches/glibc-bootstrap-system.patch \ > gnu/packages/patches/glibc-hurd-extern-inline.patch \ > diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm > index 2b90c12..71d2082 100644 > --- a/gnu/packages/glib.scm > +++ b/gnu/packages/glib.scm > @@ -139,10 +139,7 @@ shared NFS home directories.") > (sha256 > (base32 > "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss")) > - (patches (list (search-patch "glib-tests-desktop.patch") > - (search-patch "glib-tests-prlimit.patch") > - (search-patch "glib-tests-timer.patch") > - (search-patch "glib-tests-gapplication.patch"))))) > + (patches (list (search-patch "glib-tests-timer.patch"))))) > (build-system gnu-build-system) > (outputs '("out" ; everything > "bin" ; glib-mkenums, gtester, etc.; depends on > Python > @@ -177,16 +174,66 @@ shared NFS home directories.") > "glib/tests/utils.c" > "tests/spawn-test.c") > (("/bin/sh") > - (string-append (assoc-ref inputs "bash") "/bin/sh"))) > - > - ;; Disable a test that requires /etc/machine-id. > - (substitute* "gio/tests/gdbus-peer.c" > - (("g_test_add_func.*/gdbus/codegen-peer-to-peer.*") "")) > - ;; Disable a test that requires dbus. > - (substitute* "gio/tests/gdbus-serialization.c" > - (("g_test_add_func \ > -\\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all) > - (string-append "/* " all " */")))))) > + (string-append (assoc-ref inputs "bash") "/bin/sh"))))) > + (add-before 'check 'disable-failing-tests > + (lambda _ > + (let ((disable > + (lambda (test-file test-paths) > + (define pattern+procs > + (map (lambda (test-path) > + (cons > + ;; XXX: only works for single line statements. > + (format #f "g_test_add_func.*\"~a\".*" > test-path) > + (const ""))) > + test-paths)) > + (substitute test-file pattern+procs))) > + (failing-tests > + '(("glib/tests/thread.c" > + (;; prlimit(2) returns ENOSYS on Linux > 2.6.32-5-xen-amd64 > + ;; as found on hydra.gnu.org, and strace(1) doesn't > + ;; recognize it. > + "/thread/thread4")) > + > + ("glib/tests/timer.c" > + (;; fails if compiler optimizations are enabled, which > they > + ;; are by default. > + "/timer/stop")) > + > + ("gio/tests/gapplication.c" > + (;; XXX: proven to be unreliable. See: > + ;; <https://bugs.debian.org/756273> > + ;; <http://bugs.gnu.org/18445> > + "/gapplication/quit")) > + > + ("gio/tests/contenttype.c" > + (;; XXX: requires shared-mime-info. > + "/contenttype/guess" > + "/contenttype/subtype" > + "/contenttype/list" > + "/contenttype/icon" > + "/contenttype/symbolic-icon" > + "/contenttype/tree")) > + > + ("gio/tests/appinfo.c" > + (;; XXX: requires update-desktop-database. > + "/appinfo/associations")) > + > + ("gio/tests/desktop-app-info.c" > + (;; XXX: requires update-desktop-database. > + "/desktop-app-info/delete" > + "/desktop-app-info/default" > + "/desktop-app-info/fallback" > + "/desktop-app-info/lastused" > + "/desktop-app-info/search")) > + > + ("gio/tests/gdbus-peer.c" > + (;; Requires /etc/machine-id. > + "/gdbus/codegen-peer-to-peer")) > + > + ("gio/tests/gdbus-unix-addresses.c" > + (;; Requires /etc/machine-id. > + "/gdbus/x11-autolaunch"))))) > + (and-map (lambda (x) (apply disable x)) failing-tests))))) > > ;; Note: `--docdir' and `--htmldir' are not honored, so work around it. > #:configure-flags (list (string-append "--with-html-dir=" > diff --git a/gnu/packages/patches/glib-tests-desktop.patch > b/gnu/packages/patches/glib-tests-desktop.patch > deleted file mode 100644 > index 642234e..0000000 > --- a/gnu/packages/patches/glib-tests-desktop.patch > +++ /dev/null > @@ -1,138 +0,0 @@ > -Some GLib tests expect desktop things, such as an xterm, a MIME > -database, the `update-desktop-database' program, which we don't provide. > - > ---- glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:44.000000000 +0200 > -+++ glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:56.000000000 +0200 > -@@ -497,16 +497,10 @@ main (int argc, char *argv[]) > - > - g_test_add_func ("/appinfo/basic", test_basic); > - g_test_add_func ("/appinfo/text", test_text); > -- g_test_add_func ("/appinfo/launch", test_launch); > - g_test_add_func ("/appinfo/show-in", test_show_in); > - g_test_add_func ("/appinfo/commandline", test_commandline); > -- g_test_add_func ("/appinfo/launch-context", test_launch_context); > -- g_test_add_func ("/appinfo/launch-context-signals", > test_launch_context_signals); > - g_test_add_func ("/appinfo/tryexec", test_tryexec); > -- g_test_add_func ("/appinfo/associations", test_associations); > - g_test_add_func ("/appinfo/environment", test_environment); > -- g_test_add_func ("/appinfo/startup-wm-class", test_startup_wm_class); > -- g_test_add_func ("/appinfo/supported-types", test_supported_types); > - g_test_add_func ("/appinfo/from-keyfile", test_from_keyfile); > - > - return g_test_run (); > - > ---- glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:29.000000000 > +0100 > -+++ glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:33.000000000 > +0100 > -@@ -207,15 +207,6 @@ main (int argc, char *argv[]) > - { > - g_test_init (&argc, &argv, NULL); > - > -- g_test_add_func ("/contenttype/guess", test_guess); > -- g_test_add_func ("/contenttype/unknown", test_unknown); > -- g_test_add_func ("/contenttype/subtype", test_subtype); > -- g_test_add_func ("/contenttype/list", test_list); > -- g_test_add_func ("/contenttype/executable", test_executable); > -- g_test_add_func ("/contenttype/description", test_description); > -- g_test_add_func ("/contenttype/icon", test_icon); > -- g_test_add_func ("/contenttype/symbolic-icon", test_symbolic_icon); > -- g_test_add_func ("/contenttype/tree", test_tree); > - > - return g_test_run (); > - } > - > - > ---- glib-2.40.0/gio/tests/desktop-app-info.c 2014-03-19 22:50:45.000000000 > -0500 > -+++ glib-2.40.0/gio/tests/desktop-app-info.c 2014-06-30 14:27:52.543358331 > -0500 > -@@ -708,6 +708,8 @@ > - g_setenv ("XDG_DATA_HOME", basedir, TRUE); > - cleanup_subdirs (basedir); > - > -+ result = g_test_run (); > -+ return result; > - g_test_add_func ("/desktop-app-info/delete", test_delete); > - g_test_add_func ("/desktop-app-info/default", test_default); > - g_test_add_func ("/desktop-app-info/fallback", test_fallback); > - > - > ------------------------------ > -The hunk below removes tests that depend on `gdbus-testserver.py', > -because that script depends on python-gobject. The second hunk > -disables a test that expects /etc/machine-id in the build environment. > - > ---- glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 > +0200 > -+++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 > +0200 > -@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16) > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-auth > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending > \ > --@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection > \ > --@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-loss > \ > --@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-slow > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-error > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-exit-on-close > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-export > \ > --@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-introspection > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-names > \ > --@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-threads > \ > --@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-well-known-name > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen-old > \ > --@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification > \ > - @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL) > -@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $ > - am__EXEEXT_1 = > - @OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \ > - @OS_UNIX_TRUE@ gdbus-peer-object-manager$(EXEEXT) \ > --@OS_UNIX_TRUE@ gdbus-unix-addresses$(EXEEXT) \ > - @OS_UNIX_TRUE@ live-g-file$(EXEEXT) socket-address$(EXEEXT) \ > - @OS_UNIX_TRUE@ stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \ > - @OS_UNIX_TRUE@ unix-streams$(EXEEXT) $(am__EXEEXT_1) \ > - > - > -The test below depends on the availability /etc/passwd to dbus-daemon. > - > ---- glib-2.40.0/gio/tests/gdbus-auth.c 2014-02-03 11:40:41.000000000 > -0600 > -+++ glib-2.40.0/gio/tests/gdbus-auth.c 2014-06-30 15:08:43.719421893 > -0500 > -@@ -286,6 +286,8 @@ > - { > - gint ret; > - > -+ g_test_init (&argc, &argv, NULL); > -+ return g_test_run(); > - setlocale (LC_ALL, "C"); > - > - temp_dbus_keyrings_setup (); > - > - > -The test dbus-appinfo is dropped as it hangs indefinitely since 2.37.5, see > - https://launchpad.net/ubuntu/+source/glib2.0/2.37.5-1ubuntu1 > - > ---- glib-2.40.0/gio/tests/dbus-appinfo.c 2014-02-03 11:40:41.000000000 > -0600 > -+++ glib-2.40.0/gio/tests/dbus-appinfo.c 2014-06-30 14:44:08.215383632 > -0500 > -@@ -278,7 +278,7 @@ > - { > - g_test_init (&argc, &argv, NULL); > - > -- g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo); > -+ return g_test_run(); > - > - return session_bus_run (); > - } > - > - > -The test below fails for unknown reasons (!). > - > ---- glib-2.39.1/gio/tests/gsettings.c.orig 2014-01-20 00:45:04.000000000 > +0100 > -+++ glib-2.39.1/gio/tests/gsettings.c 2014-01-20 00:45:10.000000000 > +0100 > -@@ -2489,7 +2489,6 @@ main (int argc, char *argv[]) > - g_test_add_func ("/gsettings/range/subprocess/high", test_range_high); > - g_test_add_func ("/gsettings/range/subprocess/low", test_range_low); > - g_test_add_func ("/gsettings/list-items", test_list_items); > -- g_test_add_func ("/gsettings/list-schemas", test_list_schemas); > - g_test_add_func ("/gsettings/mapped", test_get_mapped); > - g_test_add_func ("/gsettings/get-range", test_get_range); > - g_test_add_func ("/gsettings/schema-source", test_schema_source); > - > diff --git a/gnu/packages/patches/glib-tests-gapplication.patch > b/gnu/packages/patches/glib-tests-gapplication.patch > deleted file mode 100644 > index 1845fcb..0000000 > --- a/gnu/packages/patches/glib-tests-gapplication.patch > +++ /dev/null > @@ -1,28 +0,0 @@ > -This test has proven to be unreliable, often leading to things like this > -in gapplication.log: > - > - PASS: gapplication 3 /gapplication/properties > - Failed to register: The connection is closed > - ** > - GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated) > - ok 4 /gapplication/app-id > - PASS: gapplication 4 /gapplication/app-id > - ../../tap-test: line 5: 24133 Aborted $1 -k --tap > - # GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: > (activated) > - cleaning up pid 24154 > - ERROR: gapplication - missing test plan > - ERROR: gapplication - exited with status 134 (terminated by signal 6?) > - > -See <https://bugs.debian.org/756273> and <http://bugs.gnu.org/18445>. > - > - > ---- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 > +0100 > -+++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 > +0100 > -@@ -685,7 +685,6 @@ main (int argc, char **argv) > - /* g_test_add_func ("/gapplication/non-unique", test_nonunique); */ > - g_test_add_func ("/gapplication/properties", properties); > - g_test_add_func ("/gapplication/app-id", appid); > -- g_test_add_func ("/gapplication/quit", test_quit); > - g_test_add_func ("/gapplication/local-actions", test_local_actions); > - /* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); > */ > - g_test_add_func ("/gapplication/local-command-line", > test_local_command_line); > diff --git a/gnu/packages/patches/glib-tests-prlimit.patch > b/gnu/packages/patches/glib-tests-prlimit.patch > deleted file mode 100644 > index f2b2a61..0000000 > --- a/gnu/packages/patches/glib-tests-prlimit.patch > +++ /dev/null > @@ -1,14 +0,0 @@ > -prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64 as found on > -hydra.gnu.org, and strace(1) doesn't recognize it. > - > ---- glib-2.34.3/glib/tests/thread.c 2012-11-20 15:27:12.000000000 +0100 > -+++ glib-2.34.3/glib/tests/thread.c 2013-03-27 14:48:31.000000000 +0100 > -@@ -130,7 +130,7 @@ test_thread3 (void) > - static void > - test_thread4 (void) > - { > --#ifdef HAVE_PRLIMIT > -+#if 0 > - struct rlimit ol, nl; > - GThread *thread; > - GError *error; > diff --git a/gnu/packages/patches/glib-tests-timer.patch > b/gnu/packages/patches/glib-tests-timer.patch > index 1ac364f..e37425c 100644 > --- a/gnu/packages/patches/glib-tests-timer.patch > +++ b/gnu/packages/patches/glib-tests-timer.patch > @@ -2,9 +2,6 @@ > fail depending on the elapsed microseconds. Improve rounding by adding a > fractional bit. > > -* The /timer/stop test fails if compiler optimizations are enabled, which > they > - are by default. Disable that test. > - > --- glib-2.40.0/glib/tests/timer.c 2014-03-05 08:05:42.000000000 -0600 > +++ glib-2.40.0/glib/tests/timer.c 2014-07-10 16:33:12.746862822 -0500 > @@ -35,7 +35,7 @@ > @@ -16,11 +13,3 @@ > > g_timer_destroy (timer); > } > -@@ -204,7 +204,6 @@ > - g_test_init (&argc, &argv, NULL); > - > - g_test_add_func ("/timer/basic", test_timer_basic); > -- g_test_add_func ("/timer/stop", test_timer_stop); > - g_test_add_func ("/timer/continue", test_timer_continue); > - g_test_add_func ("/timer/reset", test_timer_reset); > - g_test_add_func ("/timeval/add", test_timeval_add); > -- > 2.6.3 >
I just applied the first three patches and glib failed to build, with the following errors from the test phase: ERROR: gapplication - too few tests run (expected 12, got 4) ERROR: gapplication - exited with status 139 (terminated by signal 11?) Unfortunately I didn't tell it to keep the output of the build so I can't attach the test-suite.log file. It would be best if glib built with this commit, just in case. -- Efraim Flashner <efr...@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature