Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 21676 - /usr/sbin/ebuild does not create "${BUILDDIR}/build-info"
Summary: /usr/sbin/ebuild does not create "${BUILDDIR}/build-info"
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: x86 Linux
: High major
Assignee: Nicholas Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-25 13:15 UTC by Georgi Georgiev
Modified: 2011-10-30 22:18 UTC (History)
0 users

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 Georgi Georgiev 2003-05-25 13:15:59 UTC
ebuild merge seems to have stopped working. It gives "ebuild generated output
during depend phase (bad)" which doesn't help a lot. I tracked down the error to
line 4201 of portage.py:

lcfile=open(inforoot+"/COUNTER","w")

and the error is obviously cased by a non-existent inforoot (i.e.
settings["BUILDDIR"]+"/build-info"). A statement following this "lcfile=open" is
not executed.

This behaviour may be caused by manual compiles.

Reproducible: Always
Steps to Reproduce:
1. ebuild some.ebuild unpack
2. compile the package manually
3. touch $BUILDDIR/.compiled
4. ebuild some.ebuild merge

Actual Results:  
i got an error message - "this ebuild produced output during depend phase (bad)"

Expected Results:  
the package should have been merged
Comment 1 Georgi Georgiev 2003-05-25 13:20:16 UTC
A workaround is available with manually creating $BUILDDIR/build-info

If I do a

mkdir $BUILDDIR/build-info
ebuild some.ebuild merge
cp some.ebuild $BUILDDIR/build-info/

it works, but there are only two files in $BUILDDIR/build-info - COUNTER and CONTENTS. The some.ebuild file is not copied to build-info on a merge and portage complains that it is missing.
Comment 2 Georgi Georgiev 2003-05-25 13:29:10 UTC
portage is version 2.0.48
Comment 3 Nicholas Jones (RETIRED) gentoo-dev 2003-05-29 03:47:38 UTC
Well... I've changed ebuild.sh to accomodate this situation a bit better,
but there is no reason for portage to endorse an app ou've built by hand.
The data for the directory is created by the compile phase, which you are
skipping. The CFLAGS and friends will not be created automatically by
portage if you choose to not have portage do the work.
Comment 4 Georgi Georgiev 2003-05-29 04:02:03 UTC
There is a situation when this could be needed. For example, when i "emerge transcode" (versions 0.6.3 or 0.6.4), I get a compilation error at a file, because the needed #include <glib.h> is missing from that file. It is easier for me to fix the error and then finish the compilation by myself (i.e. cd ${S}; make), and then touch .compiled and "ebuild merge". The alternative is to copy the package to my $PORTAGE_OVERLAY and add a patch to it and start all over with emerge. 

This reminds me that I haven't submitted a bugreport for transcode.