Gentoo Archives: gentoo-user

From: Dale <rdalek1967@×××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: equery depends vs. emerge -pv --depclean <atom>
Date: Tue, 17 Nov 2009 23:53:39
Message-Id: 4B033761.1010507@gmail.com
In Reply to: equery depends vs. emerge -pv --depclean (was: Re: [gentoo-user] MySql versus sqlite. Don't want sqlite anymore.) by Daniel Pielmeier
1 Daniel Pielmeier wrote:
2 > Dale schrieb am 17.11.2009 22:53:
3 >
4 >> root@smoker / # equery depends sqlite
5 >> [ Searching for packages depending on sqlite... ]
6 >> app-pda/libopensync-0.22 (>=dev-db/sqlite-3)
7 >>
8 >
9 > If you have this package installed and want to keep it you are forced to
10 > keep sqlite as it is a hard dependency. Meaning this package needs
11 > sqlite and there is no alternative.
12 >
13 >
14 >> app-portage/eix-0.17.0 (sqlite? >=dev-db/sqlite-3)
15 >>
16 >
17 > Here sqlite is optional via use flag. So you can get rid of the
18 > dependency it by disabling the use flag.
19 >
20 >
21 >> Those appear to be in the ebuild and MySql is not a option for
22 >> replacement. Is there a way? I have already emerged these with the
23 >> -sqlite and +mysql USE flag. I notice something about sqlite3 in one of
24 >> the ebuilds. What is that?
25 >>
26 >
27 > The main reason why I respond to this post is that there are still a lot
28 > of people which are using "equery depends", although it is known to
29 > print false positive by not taking use flags into account. You have to
30 > scan through the output and check if the use flag is activated which
31 > pulls in the package you want to check. Like for eix in the above
32 > example. Eix only depends on sqlite if the sqlite use flag is activated.
33 > "Equery depends" lists it in any case (activated or not) as it doesn't
34 > take the use flags into account.
35 >
36 > A more convenient way to find out the correct reverse dependencies with
37 > portage is "emerge -pv --depclean <atom>"[1]. Running only "emerge -pv
38 > --depclean" checks the complete world and system set, but if you pass a
39 > package to it only the reverse dependencies of the package in question
40 > are examined.
41 >
42 > [1] http://www.gentoo.org/proj/en/portage/doc/faq.xml
43 >
44 >
45
46 I do know, because I have read about it, that equery is not 100%
47 accurate. It is a starting point tho. Is it that equery needs a bit of
48 rewriting or is it just that hard to do when taking USE flags into account?
49
50 Since one of those has a hard dependency on sqlite, it would have to
51 stay anyway. May as well leave it for the rest too. Here is the output
52 of --depclean for sqlite:
53
54 root@smoker / # emerge -pv --depclean sqlite
55
56 Calculating dependencies... done!
57 dev-db/sqlite-3.6.19 pulled in by:
58 dev-util/subversion-1.6.5
59
60 >>> No packages selected for removal by depclean
61 Packages installed: 1199
62 Packages in world: 109
63 Packages in system: 50
64 Required packages: 202
65 Number to remove: 0
66 root@smoker / #
67
68 Going by that, I would *think* subversion is all that needs sqlite.
69 Would that be correct? Trying to have a learning moment here. ;-)
70
71 It appears that subversion is needed by this:
72
73 root@smoker / # emerge -pv --depclean subversion
74
75 Calculating dependencies... done!
76 dev-util/subversion-1.6.5 pulled in by:
77 app-admin/eselect-python-99999999
78
79 >>> No packages selected for removal by depclean
80 Packages installed: 1199
81 Packages in world: 109
82 Packages in system: 50
83 Required packages: 202
84 Number to remove: 0
85 root@smoker / #
86
87 That lead to this:
88
89 root@smoker / # emerge -pv --depclean eselect-python
90
91 Calculating dependencies... done!
92 app-admin/eselect-python-99999999 pulled in by:
93 app-admin/gam-server-0.1.10
94 dev-java/java-config-2.1.9-r1
95 dev-lang/python-2.6.2-r1
96 dev-lang/python-3.1.1-r1
97 dev-libs/libgamin-0.1.10-r2
98 dev-libs/libxml2-2.7.3-r2
99 dev-libs/libxslt-1.1.24-r1
100 dev-util/subversion-1.6.5
101 sys-apps/file-5.03
102 sys-apps/portage-2.2_rc50
103
104 >>> No packages selected for removal by depclean
105 Packages installed: 1199
106 Packages in world: 109
107 Packages in system: 50
108 Required packages: 202
109 Number to remove: 0
110 root@smoker / #
111
112 So in the end, it appears that a few things "depend" on sqlite.
113
114 Dale
115
116 :-) :-)