Gentoo Archives: gentoo-dev

From: Steve Dibb <beandog@g.o>
To: Gentoo Development <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Changes to php-pear-r1.eclass
Date: Mon, 15 Feb 2010 02:55:03
Message-Id: 4B78B7DF.5010204@gentoo.org
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