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" |