Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r11168 - in main/trunk: . man pym/_emerge
Date: Tue, 22 Jul 2008 13:29:21
Message-Id: E1KLHvX-0003Ap-PC@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-07-22 13:29:14 +0000 (Tue, 22 Jul 2008)
3 New Revision: 11168
4
5 Modified:
6 main/trunk/NEWS
7 main/trunk/man/emerge.1
8 main/trunk/pym/_emerge/__init__.py
9 main/trunk/pym/_emerge/help.py
10 Log:
11 Update --depclean and --prune, removing warnings about libraries since those
12 are now automatically accounted for.
13
14
15 Modified: main/trunk/NEWS
16 ===================================================================
17 --- main/trunk/NEWS 2008-07-22 12:24:53 UTC (rev 11167)
18 +++ main/trunk/NEWS 2008-07-22 13:29:14 UTC (rev 11168)
19 @@ -3,6 +3,8 @@
20 portage-2.2
21 -------------
22
23 +* Add link level dependency awareness to emerge --depclean and --prune actions
24 + in order to protect against uninstallation of required libraries.
25 * Add emerge --jobs and --load-average options which specify behavior
26 for building packages in parallel or for generating metadata in parallel
27 with emerge --regen.
28
29 Modified: main/trunk/man/emerge.1
30 ===================================================================
31 --- main/trunk/man/emerge.1 2008-07-22 12:24:53 UTC (rev 11167)
32 +++ main/trunk/man/emerge.1 2008-07-22 13:29:14 UTC (rev 11168)
33 @@ -103,19 +103,22 @@
34 .BR \-\-depclean
35 Cleans the system by removing packages that are not associated
36 with explicitly merged packages. Depclean works by creating the
37 -full dependency tree from the system and world sets,
38 +full dependency tree from the @system and @world sets,
39 then comparing it to installed packages. Packages installed, but
40 not part of the dependency tree, will be uninstalled by depclean.
41 -Inexperienced users are advised to use \fB\-\-pretend\fR
42 -with this option in order to see a preview of which packages
43 -will be uninstalled.
44 +See \fB\-\-with\-bdeps\fR for behavior with respect to build time dependencies
45 +that are not strictly required. Packages that are part of the world set will
46 +always be kept. They can be manually added to this set with \fIemerge
47 +\-\-noreplace <atom>\fR. As a safety measure, depclean will not remove any
48 +packages unless *all* required dependencies have been resolved. As a
49 +consequence, it is often necessary to run \fIemerge \-\-update \-\-newuse
50 +\-\-deep \-\-oneshot @system @world\fR prior to depclean.
51
52 -\fBWARNING: Removing some
53 -packages may cause packages which link to the removed package
54 -to stop working and complain about missing libraries.\fR
55 -Rebuild the complaining package to fix this issue. Also see
56 -\fB\-\-with\-bdeps\fR for behavior with respect to build time dependencies that
57 -are not strictly required. Note that packages listed in
58 +\fBWARNING:\fR
59 +Inexperienced users are advised to use \fB\-\-pretend\fR with this
60 +option in order to see a preview of which packages
61 +will be uninstalled. Always study the list of packages
62 +to be cleaned for any obvious mistakes. Note that packages listed in
63 package.provided (see \fBportage\fR(5)) may be removed by
64 depclean, even if they are part of the world set.
65
66 @@ -150,11 +153,9 @@
67 .TP
68 .BR "\-\-prune " (\fB\-P\fR)
69 \fBWARNING: This action can remove important packages!\fR Removes all but the
70 -highest installed version of a package from your system. This action doesn't
71 -verify the possible binary compatibility between versions and can thus remove
72 -essential dependencies from your system. Use \fB\-\-prune\fR together with
73 -\fB\-\-verbose\fR to show reverse dependencies or with \fB\-\-nodeps\fR to
74 -ignore all dependencies.
75 +highest installed version of a package from your system. Use \fB\-\-prune\fR
76 +together with \fB\-\-verbose\fR to show reverse dependencies or with
77 +\fB\-\-nodeps\fR to ignore all dependencies.
78 .TP
79 .BR \-\-regen
80 Causes portage to check and update the dependency cache of all ebuilds in the
81
82 Modified: main/trunk/pym/_emerge/__init__.py
83 ===================================================================
84 --- main/trunk/pym/_emerge/__init__.py 2008-07-22 12:24:53 UTC (rev 11167)
85 +++ main/trunk/pym/_emerge/__init__.py 2008-07-22 13:29:14 UTC (rev 11168)
86 @@ -11455,8 +11455,10 @@
87 msg.append("\n")
88 msg.append("As a safety measure, depclean will not remove any packages\n")
89 msg.append("unless *all* required dependencies have been resolved. As a\n")
90 - msg.append("consequence, it is often necessary to run\n")
91 - msg.append(good("`emerge --update --newuse --deep world`") + " prior to depclean.\n")
92 + msg.append("consequence, it is often necessary to run %s\n" % \
93 + good("`emerge --update"))
94 + msg.append(good("--newuse --deep --oneshot @system @world`") + \
95 + " prior to depclean.\n")
96
97 if action == "depclean" and "--quiet" not in myopts and not myfiles:
98 portage.writemsg_stdout("\n")
99
100 Modified: main/trunk/pym/_emerge/help.py
101 ===================================================================
102 --- main/trunk/pym/_emerge/help.py 2008-07-22 12:24:53 UTC (rev 11167)
103 +++ main/trunk/pym/_emerge/help.py 2008-07-22 13:29:14 UTC (rev 11168)
104 @@ -66,35 +66,42 @@
105 print " file setup or other similar setups that the user may wish to run."
106 print
107 print " "+green("--depclean")
108 - paragraph = "Cleans the system by removing packages that are not associated " + \
109 - "with explicitly merged packages. Depclean works by creating the " + \
110 - "full dependency tree from the system and world sets, " + \
111 - "then comparing it to installed packages. Packages installed, but " + \
112 - "not part of the dependency tree, will be uninstalled by depclean. " + \
113 - "Inexperienced users are advised to use --pretend " + \
114 - "with this option in order to see a preview of which packages " + \
115 - "will be uninstalled."
116 +
117 + paragraph = "Cleans the system by removing packages that are " + \
118 + "not associated with explicitly merged packages. Depclean works " + \
119 + "by creating the full dependency tree from the @system and " + \
120 + "@world sets, then comparing it to installed packages. Packages " + \
121 + "installed, but not part of the dependency tree, will be " + \
122 + "uninstalled by depclean. See --with-bdeps for behavior with " + \
123 + "respect to build time dependencies that are not strictly " + \
124 + "required. Packages that are part of the world set will " + \
125 + "always be kept. They can be manually added to this set with " + \
126 + "emerge --noreplace <atom>. As a safety measure, depclean " + \
127 + "will not remove any packages unless *all* required dependencies " + \
128 + "have been resolved. As a consequence, it is often necessary to " + \
129 + "run emerge --update --newuse --deep --oneshot @system @world " + \
130 + "prior to depclean."
131 +
132 for line in wrap(paragraph, desc_width):
133 print desc_indent + line
134 print
135
136 - paragraph = "WARNING: Removing some " + \
137 - "packages may cause packages which link to the removed package " + \
138 - "to stop working and complain about missing libraries. " + \
139 - "Rebuild the complaining package to fix this issue. Also see " + \
140 - "--with-bdeps for behavior with respect to build time dependencies that " + \
141 - "are not strictly required. Note that packages listed in " + \
142 - "package.provided (see portage(5)) may be removed by " + \
143 - "depclean, even if they are part of the world set."
144 + paragraph = "WARNING: Inexperienced users are advised to use " + \
145 + "--pretend with this option in order to see a preview of which " + \
146 + "packages will be uninstalled. Always study the list of packages " + \
147 + "to be cleaned for any obvious mistakes. Note that packages " + \
148 + "listed in package.provided (see portage(5)) may be removed by " + \
149 + "depclean, even if they are part of the world set."
150 +
151 for line in wrap(paragraph, desc_width):
152 print desc_indent + line
153 print
154
155 - paragraph = "Depclean serves as a dependency aware " + \
156 - "version of --unmerge. When given one or more atoms, it will " + \
157 - "unmerge matched packages that have no reverse dependencies. Use " + \
158 - "--depclean together with --verbose to show reverse " + \
159 - "dependencies."
160 + paragraph = "Depclean serves as a dependency aware version of " + \
161 + "--unmerge. When given one or more atoms, it will unmerge " + \
162 + "matched packages that have no reverse dependencies. Use " + \
163 + "--depclean together with --verbose to show reverse dependencies."
164 +
165 for line in wrap(paragraph, desc_width):
166 print desc_indent + line
167 print
168 @@ -116,12 +123,13 @@
169 print
170 print " "+green("--prune")+" ("+green("-P")+" short option)"
171 print " "+turquoise("WARNING: This action can remove important packages!")
172 - print " Removes all but the highest installed version of a package"
173 - print " from your system. This action doesn't verify the possible binary"
174 - print " compatibility between versions and can thus remove essential"
175 - print " dependencies from your system. Use --prune together with"
176 - print " --verbose to show reverse dependencies or with --nodeps to"
177 - print " ignore all dependencies."
178 + paragraph = "Removes all but the highest installed version of a " + \
179 + "package from your system. Use --prune together with " + \
180 + "--verbose to show reverse dependencies or with --nodeps " + \
181 + "to ignore all dependencies. "
182 +
183 + for line in wrap(paragraph, desc_width):
184 + print desc_indent + line
185 print
186 print " "+green("--regen")
187 print " Causes portage to check and update the dependency cache of all"