1 |
I'm trying to fix some dependency issues that I introduced into the PHP |
2 |
PEAR packages when I changed them around with PEAR-PEAR-1.8.1 and above. |
3 |
|
4 |
If you want the history lesson, basically what happened is that |
5 |
PEAR-PEAR had been acting as the virtual to install the base PEAR |
6 |
system, even though PEAR-PEAR is an individual package, so the ebuild |
7 |
was basically pulling double duty. With 1.8.1 I changed it so |
8 |
dev-php/pear would act as a virtual, and PEAR-PEAR was now it's own |
9 |
dependency. It also gave us more flexibility because the PEAR base |
10 |
install requirements had changed to include packages that were already |
11 |
separate ebuilds in the tree. So, the choices were either to make them |
12 |
all separate, or mangle the versions to pull more into the half-virtual |
13 |
ebuild. Yah. |
14 |
|
15 |
When I changed it, though, I added dev-php/pear which had a PDEPEND upon |
16 |
the base PEAR packages. The eclass used to pull in just the PEAR-PEAR |
17 |
ebuild because that had the entire base system. The newer PEAR-PEAR |
18 |
ebuilds had a PDEPEND upon dev-lang/pear, so basically all the deps |
19 |
eventually got around to installing. I'm noticing that that doesn't |
20 |
work too well, since modules will pull in PEAR-PEAR expecting that to |
21 |
have the base, but because of PDEPEND, they'll really be pulled in after |
22 |
the module tries to install, breaking the process. |
23 |
|
24 |
Which brings me to where I am now ... I'm going to move the DEPENDs into |
25 |
the pear eclass directly, so that they will always be pulled in. I'm |
26 |
really cautious about changing eclasses, though, so here's the diff if |
27 |
anyone would care to check my work. From my testing, it seems to be |
28 |
pulling the deps in with the correct order now. |
29 |
|
30 |
Index: php-pear-r1.eclass |
31 |
=================================================================== |
32 |
RCS file: /var/cvsroot/gentoo-x86/eclass/php-pear-r1.eclass,v |
33 |
retrieving revision 1.22 |
34 |
diff -u -b -B -r1.22 php-pear-r1.eclass |
35 |
--- php-pear-r1.eclass 12 Jan 2009 23:09:02 -0000 1.22 |
36 |
+++ php-pear-r1.eclass 15 Feb 2010 02:54:02 -0000 |
37 |
@@ -19,7 +19,14 @@ |
38 |
|
39 |
EXPORT_FUNCTIONS src_install |
40 |
|
41 |
-DEPEND="dev-lang/php >=dev-php/PEAR-PEAR-1.6.1" |
42 |
+DEPEND="dev-lang/php |
43 |
+ || ( ( >=dev-php/PEAR-PEAR-1.6.1 <dev-php/PEAR-PEAR-1.8.1 ) |
44 |
+ ( >=dev-php/PEAR-PEAR-1.8.1 |
45 |
+ >=dev-php/PEAR-Archive_Tar-1.3.3 |
46 |
+ >=dev-php/PEAR-Console_Getopt-1.2.3 |
47 |
+ >=dev-php/PEAR-Structures_Graph-1.0.2 |
48 |
+ >=dev-php/PEAR-XML_Util-1.2.1 ) |
49 |
+ )" |
50 |
RDEPEND="${DEPEND}" |
51 |
|
52 |
# @ECLASS-VARIABLE: PHP_PEAR_PKG_NAME |