Where the current ebuild reads sed -e 's/.*bus_dispatch_test.*/printf ("Disabled due to excess noise\n");/' \ it should read sed -e 's/.*bus_dispatch_test.*/printf ("Disabled due to excess noise\\n");/' \ The current version causes the build to abort with test-main.c:131:9: warning: missing terminating " character test-main.c: In function ‘main’: test-main.c:131: error: missing terminating " character test-main.c:132:1: warning: missing terminating " character test-main.c:132: error: missing terminating " character test-main.c:133: error: expected ‘)’ before ‘;’ token test-main.c:151: error: invalid use of void expression test-main.c:151: error: expected ‘;’ before ‘}’ token make[2]: *** [test-main.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-apps/dbus-1.2.12/work/dbus-1.2.12/bus' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-apps/dbus-1.2.12/work/dbus-1.2.12' make: *** [all] Error 2 * * ERROR: sys-apps/dbus-1.2.12 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2749: Called die * The specific snippet of code: * emake || die "make failed" * The die message: * make failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/sys-apps/dbus-1.2.12/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-apps/dbus-1.2.12/temp/environment'. * Additionally, if the thing would've built, the pkg_postinst would've noted that building with tests enabled results in an insecure lib. There is no explanation what kind of security problems this causes, or how serious they are, but why are the tests enabled at all? Please turn them off unless they're actually safe -- or at least give folks enough info for them to determine themselves whether the security issue applies to them.
(In reply to comment #0) > The current version causes the build to abort with > > test-main.c:131:9: warning: missing terminating " character > test-main.c: In function ‘main’: > test-main.c:131: error: missing terminating " character > test-main.c:132:1: warning: missing terminating " character > test-main.c:132: error: missing terminating " character wth, how come I didn't see this? emerge --info please, I'd like to know if this is somehow gcc-specific > Additionally, if the thing would've built, the pkg_postinst would've noted that > building with tests enabled results in an insecure lib. There is no explanation > what kind of security problems this causes, or how serious they are, but why > are the tests enabled at all? Please turn them off unless they're actually safe > -- or at least give folks enough info for them to determine themselves whether > the security issue applies to them. > Well, I just gave the same warning as ./configure did with --enable-tests, I suppose it's a generic warning, but I'm not sure.
(In reply to comment #1) > > test-main.c:131:9: warning: missing terminating " character > > test-main.c: In function ‘main’: > > test-main.c:131: error: missing terminating " character > > test-main.c:132:1: warning: missing terminating " character > > test-main.c:132: error: missing terminating " character > > wth, how come I didn't see this? emerge --info please, I'd like to know if this > is somehow gcc-specific > Okay, disregard that, fixed now ------- Fix bug 267125 (murphy's law causes a two-character change before cvs commit to cause build-failure) (Portage version: 2.2_rc31/cvs/Linux i686) ------- > > Additionally, if the thing would've built, the pkg_postinst would've noted that > > building with tests enabled results in an insecure lib. There is no explanation > > what kind of security problems this causes, or how serious they are, but why > > are the tests enabled at all? Please turn them off unless they're actually safe > > -- or at least give folks enough info for them to determine themselves whether > > the security issue applies to them. > > > > Well, I just gave the same warning as ./configure did with --enable-tests, I > suppose it's a generic warning, but I'm not sure. > Also, the tests are enabled because they are *useful* for ATs and the like to make sure that the package works. I suppose this is an example of a case where FEATURES=test on by default is RealBad(tm).
(In reply to comment #1) > > Well, I just gave the same warning as ./configure did with --enable-tests, I > suppose it's a generic warning, but I'm not sure. > That is becouse it seems like they have a tendency of ifdef DBUS_BUILD_TESTS everything that may be broken, is broken, is not yet ready for general usage or even never was meant to be. So enable-tests build stuff that is known to couse memory-corruption, alter the caller string and so on, and those functions are sitting in the main code.
it would be best to help usptream split these to another kind of ifdefs then because disabling the testsuite because it enables broken code is crazy