Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 267125 - sys-apps/dbus-1.2.12 fails to compile because of a bad sed
Summary: sys-apps/dbus-1.2.12 fails to compile because of a bad sed
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Nirbheek Chauhan (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-22 17:39 UTC by Harald van Dijk (RETIRED)
Modified: 2009-04-23 08:15 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Harald van Dijk (RETIRED) gentoo-dev 2009-04-22 17:39:04 UTC
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.
Comment 1 Nirbheek Chauhan (RETIRED) gentoo-dev 2009-04-23 05:41:44 UTC
(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.
Comment 2 Nirbheek Chauhan (RETIRED) gentoo-dev 2009-04-23 06:01:11 UTC
(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).
Comment 3 Xake 2009-04-23 07:38:31 UTC
(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.
Comment 4 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-04-23 08:15:05 UTC
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