Gentoo Archives: gentoo-dev

From: Todd Wright <wylie@××××××××××.org>
To: gentoo-dev@g.o
Subject: [gentoo-dev] Ebuild - problem with virtuals / undocumented features
Date: Sat, 13 Apr 2002 06:34:03
Message-Id: NCEBJBHELIGGHDDGAEGNGEFDDIAA.wylie@geekasylum.org
1 Sorry if this is the wrong place, I couldnt see a description other than "Gentoo Linux developer list", and im hoping its related to developing ebuilds. I waited a while for some examples, but it seems to be a low volume list, so I thought I'd jump in - if theres a better list, please let me know.
2
3 I looked through the new portage manual, and the ebuild developer how to, but couldnt see the answers I am looking for.
4
5 Heres the story... Im trying to fix the mis-match between the uw-imap ebuild and the php one. Yes, they're broken (see bug 1254). So far I think I have fixed the compile/install part of uw-imap, but I cannot see how the dependancy "imap? ( virtual/imapUW )" is resolved or what creates "/var/db/pkg/virtual/imapUW/VIRTUAL" which is required by the imap configuration in "src_compile() of the php ebuild"
6
7 As an aside, I also see other virtual dependancies - virtual/glibc, virtual/java and a $PROVIDE variable (set twice in the uw-imap ebuild) and have no idea what they do. I can see where the value in $PROVIDE ends up in the PROVIDE file in tha package database, but thats about it.
8
9 If I emerge php (using php-4.1.2-r6) after having unmerged uw-imap, then uw-imap is not included as a dependancy, even though it is uninstalled, and has the DEPEND statement "imap? ( virtual/imapUW )" in the php ebuild file. I could simply change this to something like ">=net-mail/uw-imap-2001" but the "/var/db/pkg/virtual/imapUW/VIRTUAL" file is still required later.
10
11 I have looked in "/var/db/pkg/virtual/", and although I have a fairly well built up 1.0/1.1a system, nothing has ever written anything in there. I manually created .../imapUW/VIRTUAL eith an "echo" in order to get php to properly compile with uw-imap and ssl.
12
13 As you can tell by my rantings, the virtual/<package> thing has me totally confused.
14
15 The "/var/db/pkg/virtual/imapUW/VIRTUAL" file that the php ebuild looks for is used as a pointer to find the USE variables that uw-imap was compiled with (to see if it was compiled with ssl or not). Since nothing at all seems to ever write to "/var/db/pkg/virtual/" Im considering just changing this to a "if ['use ssl']" and just assuming that if "ssl" is a valid use variable at the time php is compiled, then uw-imap must have been compiled with it too.
16
17 Thoughts, suggestions, education appreciated.
18
19 Thanks.
20
21 -- _--_|\ --------- Todd Wright -- wylie@××××××××××.org --------
22 / \
23 \_.--._* <--- http://www.dreams.darker.net/~wylie/
24 v Mobile: +61-403-796-001 Ph: +61-2-9521-8677
25 ----------------------------------------------------------------