Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Wed, 21 Sep 2011 14:11:51
Message-Id: f127d25373a42f3200a331b7f2641a1cf0e90b50.zmedico@gentoo
1 commit: f127d25373a42f3200a331b7f2641a1cf0e90b50
2 Author: Sebastian Luther <SebastianLuther <AT> gmx <DOT> de>
3 AuthorDate: Wed Sep 21 14:11:06 2011 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 21 14:11:06 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f127d253
7
8 Point users to the man page instead of duplicating it in --help
9
10 ---
11 pym/_emerge/help.py | 815 +--------------------------------------------------
12 pym/_emerge/main.py | 4 +-
13 2 files changed, 5 insertions(+), 814 deletions(-)
14
15 diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py
16 index 7e73ec0..40c725e 100644
17 --- a/pym/_emerge/help.py
18 +++ b/pym/_emerge/help.py
19 @@ -3,10 +3,9 @@
20
21 from __future__ import print_function
22
23 -from portage.const import _ENABLE_DYN_LINK_MAP
24 from portage.output import bold, turquoise, green
25
26 -def shorthelp():
27 +def help():
28 print(bold("emerge:")+" the other white meat (command-line interface to the Portage system)")
29 print(bold("Usage:"))
30 print(" "+turquoise("emerge")+" [ "+green("options")+" ] [ "+green("action")+" ] [ "+turquoise("ebuild")+" | "+turquoise("tbz2")+" | "+turquoise("file")+" | "+turquoise("@set")+" | "+turquoise("atom")+" ] [ ... ]")
31 @@ -22,813 +21,5 @@ def shorthelp():
32 print(" [ "+green("--oneshot")+" ] [ "+green("--onlydeps")+" ]")
33 print(" [ "+green("--reinstall ")+turquoise("changed-use")+" ] [ " + green("--with-bdeps")+" < " + turquoise("y") + " | "+ turquoise("n")+" > ]")
34 print(bold("Actions:")+" [ "+green("--depclean")+" | "+green("--list-sets")+" | "+green("--search")+" | "+green("--sync")+" | "+green("--version")+" ]")
35 -
36 -def help(myopts, havecolor=1):
37 - # TODO: Implement a wrap() that accounts for console color escape codes.
38 - from textwrap import wrap
39 - desc_left_margin = 14
40 - desc_indent = desc_left_margin * " "
41 - desc_width = 80 - desc_left_margin - 5
42 - if "--verbose" not in myopts:
43 - shorthelp()
44 - print()
45 - print(" For more help try 'emerge --help --verbose' or consult the man page.")
46 - else:
47 - shorthelp()
48 - print()
49 - print(turquoise("Help (this screen):"))
50 - print(" "+green("--help")+" ("+green("-h")+" short option)")
51 - print(" Displays this help; an additional argument (see above) will tell")
52 - print(" emerge to display detailed help.")
53 - print()
54 - print(turquoise("Actions:"))
55 - print(" "+green("--clean"))
56 - print(" Cleans the system by removing outdated packages which will not")
57 - print(" remove functionalities or prevent your system from working.")
58 - print(" The arguments can be in several different formats :")
59 - print(" * world ")
60 - print(" * system or")
61 - print(" * 'dependency specification' (in single quotes is best.)")
62 - print(" Here are a few examples of the dependency specification format:")
63 - print(" "+bold("binutils")+" matches")
64 - print(" binutils-2.11.90.0.7 and binutils-2.11.92.0.12.3-r1")
65 - print(" "+bold("sys-devel/binutils")+" matches")
66 - print(" binutils-2.11.90.0.7 and binutils-2.11.92.0.12.3-r1")
67 - print(" "+bold(">sys-devel/binutils-2.11.90.0.7")+" matches")
68 - print(" binutils-2.11.92.0.12.3-r1")
69 - print(" "+bold(">=sys-devel/binutils-2.11.90.0.7")+" matches")
70 - print(" binutils-2.11.90.0.7 and binutils-2.11.92.0.12.3-r1")
71 - print(" "+bold("<=sys-devel/binutils-2.11.92.0.12.3-r1")+" matches")
72 - print(" binutils-2.11.90.0.7 and binutils-2.11.92.0.12.3-r1")
73 - print()
74 - print(" "+green("--config"))
75 - print(" Runs package-specific operations that must be executed after an")
76 - print(" emerge process has completed. This usually entails configuration")
77 - print(" file setup or other similar setups that the user may wish to run.")
78 - print()
79 - print(" "+green("--depclean")+" ("+green("-c")+" short option)")
80 -
81 - paragraph = "Cleans the system by removing packages that are " + \
82 - "not associated with explicitly merged packages. Depclean works " + \
83 - "by creating the full dependency tree from the " + \
84 - "@world set, then comparing it to installed packages. Packages " + \
85 - "installed, but not part of the dependency tree, will be " + \
86 - "uninstalled by depclean. See --with-bdeps for behavior with " + \
87 - "respect to build time dependencies that are not strictly " + \
88 - "required. Packages that are part of the world set will " + \
89 - "always be kept. They can be manually added to this set with " + \
90 - "emerge --noreplace <atom>. As a safety measure, depclean " + \
91 - "will not remove any packages unless *all* required dependencies " + \
92 - "have been resolved. As a consequence, it is often necessary to " + \
93 - "run emerge --update --newuse --deep @world " + \
94 - "prior to depclean."
95 -
96 - for line in wrap(paragraph, desc_width):
97 - print(desc_indent + line)
98 - print()
99 -
100 - paragraph = "WARNING: Inexperienced users are advised to use " + \
101 - "--pretend with this option in order to see a preview of which " + \
102 - "packages will be uninstalled. Always study the list of packages " + \
103 - "to be cleaned for any obvious mistakes. Note that packages " + \
104 - "listed in package.provided (see portage(5)) may be removed by " + \
105 - "depclean, even if they are part of the world set."
106 -
107 - paragraph += " Also note that " + \
108 - "depclean may break link level dependencies"
109 -
110 - if _ENABLE_DYN_LINK_MAP:
111 - paragraph += ", especially when the " + \
112 - "--depclean-lib-check option is disabled"
113 -
114 - paragraph += ". Thus, it is " + \
115 - "recommended to use a tool such as revdep-rebuild(1) " + \
116 - "in order to detect such breakage."
117 -
118 - for line in wrap(paragraph, desc_width):
119 - print(desc_indent + line)
120 - print()
121 -
122 - paragraph = "Depclean serves as a dependency aware version of " + \
123 - "--unmerge. When given one or more atoms, it will unmerge " + \
124 - "matched packages that have no reverse dependencies. Use " + \
125 - "--depclean together with --verbose to show reverse dependencies."
126 -
127 - for line in wrap(paragraph, desc_width):
128 - print(desc_indent + line)
129 - print()
130 - print(" " + green("--deselect") + " [ %s | %s ]" % \
131 - (turquoise("y"), turquoise("n")))
132 -
133 - paragraph = \
134 - "Remove atoms and/or sets from the world file. This action is implied " + \
135 - "by uninstall actions, including --depclean, " + \
136 - "--prune and --unmerge. Use --deselect=n " + \
137 - "in order to prevent uninstall actions from removing " + \
138 - "atoms from the world file."
139 -
140 - for line in wrap(paragraph, desc_width):
141 - print(desc_indent + line)
142 - print()
143 - print(" " + green("--ignore-default-opts"))
144 -
145 - paragraph = \
146 - "Causes EMERGE_DEFAULT_OPTS (see make.conf(5)) to be ignored."
147 -
148 - for line in wrap(paragraph, desc_width):
149 - print(desc_indent + line)
150 - print()
151 - print(" "+green("--info"))
152 - print(" Displays important portage variables that will be exported to")
153 - print(" ebuild.sh when performing merges. This information is useful")
154 - print(" for bug reports and verification of settings. All settings in")
155 - print(" make.{conf,globals,defaults} and the environment show up if")
156 - print(" run with the '--verbose' flag.")
157 - print()
158 - print(" " + green("--list-sets"))
159 - paragraph = "Displays a list of available package sets."
160 -
161 - for line in wrap(paragraph, desc_width):
162 - print(desc_indent + line)
163 - print()
164 - print(" "+green("--metadata"))
165 - print(" Transfers metadata cache from ${PORTDIR}/metadata/cache/ to")
166 - print(" /var/cache/edb/dep/ as is normally done on the tail end of an")
167 - print(" rsync update using " + bold("emerge --sync") + ". This process populates the")
168 - print(" cache database that portage uses for pre-parsed lookups of")
169 - print(" package data. It does not populate cache for the overlays")
170 - print(" listed in PORTDIR_OVERLAY. In order to generate cache for")
171 - print(" overlays, use " + bold("--regen") + ".")
172 - print()
173 - print(" "+green("--prune")+" ("+green("-P")+" short option)")
174 - print(" "+turquoise("WARNING: This action can remove important packages!"))
175 - paragraph = "Removes all but the highest installed version of a " + \
176 - "package from your system. Use --prune together with " + \
177 - "--verbose to show reverse dependencies or with --nodeps " + \
178 - "to ignore all dependencies. "
179 -
180 - for line in wrap(paragraph, desc_width):
181 - print(desc_indent + line)
182 - print()
183 - print(" "+green("--regen"))
184 - print(" Causes portage to check and update the dependency cache of all")
185 - print(" ebuilds in the portage tree. This is not recommended for rsync")
186 - print(" users as rsync updates the cache using server-side caches.")
187 - print(" Rsync users should simply 'emerge --sync' to regenerate.")
188 - desc = "In order to specify parallel --regen behavior, use "+ \
189 - "the ---jobs and --load-average options. If you would like to " + \
190 - "generate and distribute cache for use by others, use egencache(1)."
191 - for line in wrap(desc, desc_width):
192 - print(desc_indent + line)
193 - print()
194 - print(" "+green("--resume")+" ("+green("-r")+" short option)")
195 - print(" Resumes the most recent merge list that has been aborted due to an")
196 - print(" error. Please note that this operation will only return an error")
197 - print(" on failure. If there is nothing for portage to do, then portage")
198 - print(" will exit with a message and a success condition. A resume list")
199 - print(" will persist until it has been completed in entirety or until")
200 - print(" another aborted merge list replaces it. The resume history is")
201 - print(" capable of storing two merge lists. After one resume list")
202 - print(" completes, it is possible to invoke --resume once again in order")
203 - print(" to resume an older list.")
204 - print()
205 - print(" "+green("--search")+" ("+green("-s")+" short option)")
206 - print(" Searches for matches of the supplied string in the current local")
207 - print(" portage tree. By default emerge uses a case-insensitive simple ")
208 - print(" search, but you can enable a regular expression search by ")
209 - print(" prefixing the search string with %.")
210 - print(" Prepending the expression with a '@' will cause the category to")
211 - print(" be included in the search.")
212 - print(" A few examples:")
213 - print(" "+bold("emerge --search libc"))
214 - print(" list all packages that contain libc in their name")
215 - print(" "+bold("emerge --search '%^kde'"))
216 - print(" list all packages starting with kde")
217 - print(" "+bold("emerge --search '%gcc$'"))
218 - print(" list all packages ending with gcc")
219 - print(" "+bold("emerge --search '%@^dev-java.*jdk'"))
220 - print(" list all available Java JDKs")
221 - print()
222 - print(" "+green("--searchdesc")+" ("+green("-S")+" short option)")
223 - print(" Matches the search string against the description field as well")
224 - print(" the package's name. Take caution as the descriptions are also")
225 - print(" matched as regular expressions.")
226 - print(" emerge -S html")
227 - print(" emerge -S applet")
228 - print(" emerge -S 'perl.*module'")
229 - print()
230 - print(" "+green("--sync"))
231 - desc = "This updates the portage tree that is located in the " + \
232 - "directory that the PORTDIR variable refers to (default " + \
233 - "location is /usr/portage). The SYNC variable specifies " + \
234 - "the remote URI from which files will be synchronized. " + \
235 - "The PORTAGE_SYNC_STALE variable configures " + \
236 - "warnings that are shown when emerge --sync has not " + \
237 - "been executed recently."
238 - for line in wrap(desc, desc_width):
239 - print(desc_indent + line)
240 - print()
241 - print(desc_indent + turquoise("WARNING:"))
242 - desc = "The emerge --sync action will modify and/or delete " + \
243 - "files located inside the directory that the PORTDIR " + \
244 - "variable refers to (default location is /usr/portage). " + \
245 - "For more information, see the PORTDIR documentation in " + \
246 - "the make.conf(5) man page."
247 - for line in wrap(desc, desc_width):
248 - print(desc_indent + line)
249 - print()
250 - print(desc_indent + green("NOTE:"))
251 - desc = "The emerge-webrsync program will download the entire " + \
252 - "portage tree as a tarball, which is much faster than emerge " + \
253 - "--sync for first time syncs."
254 - for line in wrap(desc, desc_width):
255 - print(desc_indent + line)
256 - print()
257 - print(" "+green("--unmerge")+" ("+green("-C")+" short option)")
258 - print(" "+turquoise("WARNING: This action can remove important packages!"))
259 - print(" Removes all matching packages. This does no checking of")
260 - print(" dependencies, so it may remove packages necessary for the proper")
261 - print(" operation of your system. Its arguments can be atoms or")
262 - print(" ebuilds. For a dependency aware version of --unmerge, use")
263 - print(" --depclean or --prune.")
264 - print()
265 - print(" "+green("--version")+" ("+green("-V")+" short option)")
266 - print(" Displays the currently installed version of portage along with")
267 - print(" other information useful for quick reference on a system. See")
268 - print(" "+bold("emerge info")+" for more advanced information.")
269 - print()
270 - print(turquoise("Options:"))
271 - print(" "+green("--accept-properties=ACCEPT_PROPERTIES"))
272 - desc = "This option temporarily overrides the ACCEPT_PROPERTIES " + \
273 - "variable. The ACCEPT_PROPERTIES variable is incremental, " + \
274 - "which means that the specified setting is appended to the " + \
275 - "existing value from your configuration. The special -* " + \
276 - "token can be used to discard the existing configuration " + \
277 - "value and start fresh. See the MASKED PACKAGES section " + \
278 - "and make.conf(5) for more information about " + \
279 - "ACCEPT_PROPERTIES. A typical usage example for this option " + \
280 - "would be to use --accept-properties=-interactive to " + \
281 - "temporarily mask interactive packages. With default " + \
282 - "configuration, this would result in an effective " + \
283 - "ACCEPT_PROPERTIES value of \"* -interactive\"."
284 - for line in wrap(desc, desc_width):
285 - print(desc_indent + line)
286 - print()
287 - print(" "+green("--alphabetical"))
288 - print(" When displaying USE and other flag output, combines the enabled")
289 - print(" and disabled flags into a single list and sorts it alphabetically.")
290 - print(" With this option, output such as USE=\"dar -bar -foo\" will instead")
291 - print(" be displayed as USE=\"-bar dar -foo\"")
292 - print()
293 - print(" " + green("--ask") + \
294 - " [ %s | %s ] (%s short option)" % \
295 - (turquoise("y"), turquoise("n"), green("-a")))
296 - desc = "Before performing the action, display what will take place (server info for " + \
297 - "--sync, --pretend output for merge, and so forth), then ask " + \
298 - "whether to proceed with the action or abort. Using --ask is more " + \
299 - "efficient than using --pretend and then executing the same command " + \
300 - "without --pretend, as dependencies will only need to be calculated once. " + \
301 - "WARNING: If the \"Enter\" key is pressed at the prompt (with no other input), " + \
302 - "it is interpreted as acceptance of the first choice. Note that the input " + \
303 - "buffer is not cleared prior to the prompt, so an accidental press of the " + \
304 - "\"Enter\" key at any time prior to the prompt will be interpreted as a choice! " + \
305 - "Use the --ask-enter-invalid option if you want a single \"Enter\" key " + \
306 - "press to be interpreted as invalid input."
307 - for line in wrap(desc, desc_width):
308 - print(desc_indent + line)
309 - print()
310 - print(" " + green("--ask-enter-invalid"))
311 - desc = "When used together with the --ask option, " + \
312 - "interpret a single \"Enter\" key press as " + \
313 - "invalid input. This helps prevent accidental " + \
314 - "acceptance of the first choice. This option is " + \
315 - "intended to be set in the make.conf(5) " + \
316 - "EMERGE_DEFAULT_OPTS variable."
317 - for line in wrap(desc, desc_width):
318 - print(desc_indent + line)
319 - print()
320 - print(" " + green("--autounmask") + " [ %s | %s ]" % \
321 - (turquoise("y"), turquoise("n")))
322 - desc = "Automatically unmask packages and generate package.use " + \
323 - "settings as necessary to satisfy dependencies. This " + \
324 - "option is enabled by default. If any configuration " + \
325 - "changes are required, then they will be displayed " + \
326 - "after the merge list and emerge will immediately " + \
327 - "abort. If the displayed configuration changes are " + \
328 - "satisfactory, you should copy and paste them into " + \
329 - "the specified configuration file(s), or enable the " + \
330 - "--autounmask-write option. The " + \
331 - "EMERGE_DEFAULT_OPTS variable may be used to " + \
332 - "disable this option by default in make.conf(5)."
333 - for line in wrap(desc, desc_width):
334 - print(desc_indent + line)
335 - print()
336 - print(" " + green("--autounmask-unrestricted-atoms") + " [ %s | %s ]" % \
337 - (turquoise("y"), turquoise("n")))
338 - desc = "If --autounmask is enabled, keyword and mask changes" + \
339 - "using the '=' operator will be written. With this option, " + \
340 - "'>=' operators will be used whenever possible. USE and " + \
341 - "license changes always use the latter behvior."
342 - for line in wrap(desc, desc_width):
343 - print(desc_indent + line)
344 - print()
345 - print(" " + green("--autounmask-keep-masks") + " [ %s | %s ]" % \
346 - (turquoise("y"), turquoise("n")))
347 - desc = "If --autounmask is enabled, no package.unmask or ** keyword " + \
348 - "changes will be created. This leads to unsatisfied " + \
349 - "dependencies if no other solution exists."
350 - for line in wrap(desc, desc_width):
351 - print(desc_indent + line)
352 - print()
353 - print(" " + green("--autounmask-write") + " [ %s | %s ]" % \
354 - (turquoise("y"), turquoise("n")))
355 - desc = "If --autounmask is enabled, changes are written " + \
356 - "to config files, respecting CONFIG_PROTECT and --ask. " + \
357 - "If the corresponding package.* is a file, the changes are " + \
358 - "appended to it, if it is a directory, changes are written to " + \
359 - "the lexicographically last file. This way it is always ensured " + \
360 - "that the new changes take precedence over existing changes."
361 - for line in wrap(desc, desc_width):
362 - print(desc_indent + line)
363 - print()
364 - print(" " + green("--backtrack") + " " + turquoise("COUNT"))
365 - desc = "Specifies an integer number of times to backtrack if " + \
366 - "dependency calculation fails due to a conflict or an " + \
367 - "unsatisfied dependency (default: '10')."
368 - for line in wrap(desc, desc_width):
369 - print(desc_indent + line)
370 - print()
371 - print(" " + green("--binpkg-respect-use") + " [ %s | %s ]" % \
372 - (turquoise("y"), turquoise("n")))
373 - desc = "Tells emerge to ignore binary packages if their use flags" + \
374 - " don't match the current configuration. (default: 'n')"
375 - for line in wrap(desc, desc_width):
376 - print(desc_indent + line)
377 - print()
378 - print(" " + green("--buildpkg") + \
379 - " [ %s | %s ] (%s short option)" % \
380 - (turquoise("y"), turquoise("n"), green("-b")))
381 - desc = "Tells emerge to build binary packages for all ebuilds processed in" + \
382 - " addition to actually merging the packages. Useful for maintainers" + \
383 - " or if you administrate multiple Gentoo Linux systems (build once," + \
384 - " emerge tbz2s everywhere) as well as disaster recovery. The package" + \
385 - " will be created in the" + \
386 - " ${PKGDIR}/All directory. An alternative for already-merged" + \
387 - " packages is to use quickpkg(1) which creates a tbz2 from the" + \
388 - " live filesystem."
389 - for line in wrap(desc, desc_width):
390 - print(desc_indent + line)
391 - print()
392 - print(" "+green("--buildpkgonly")+" ("+green("-B")+" short option)")
393 - print(" Creates a binary package, but does not merge it to the")
394 - print(" system. This has the restriction that unsatisfied dependencies")
395 - print(" must not exist for the desired package as they cannot be used if")
396 - print(" they do not exist on the system.")
397 - print()
398 - print(" " + green("--changed-use"))
399 - desc = "This is an alias for --reinstall=changed-use."
400 - for line in wrap(desc, desc_width):
401 - print(desc_indent + line)
402 - print()
403 - print(" "+green("--changelog")+" ("+green("-l")+" short option)")
404 - print(" When pretending, also display the ChangeLog entries for packages")
405 - print(" that will be upgraded.")
406 - print()
407 - print(" "+green("--color") + " < " + turquoise("y") + " | "+ turquoise("n")+" >")
408 - print(" Enable or disable color output. This option will override NOCOLOR")
409 - print(" (see make.conf(5)) and may also be used to force color output when")
410 - print(" stdout is not a tty (by default, color is disabled unless stdout")
411 - print(" is a tty).")
412 - print()
413 - print(" "+green("--columns"))
414 - print(" Display the pretend output in a tabular form. Versions are")
415 - print(" aligned vertically.")
416 - print()
417 - print(" "+green("--complete-graph") + " [ %s | %s ]" % \
418 - (turquoise("y"), turquoise("n")))
419 - desc = "This causes emerge to consider the deep dependencies of all" + \
420 - " packages from the world set. With this option enabled," + \
421 - " emerge will bail out if it determines that the given operation will" + \
422 - " break any dependencies of the packages that have been added to the" + \
423 - " graph. Like the --deep option, the --complete-graph" + \
424 - " option will significantly increase the time taken for dependency" + \
425 - " calculations. Note that, unlike the --deep option, the" + \
426 - " --complete-graph option does not cause any more packages to" + \
427 - " be updated than would have otherwise " + \
428 - "been updated with the option disabled. " + \
429 - "Using --with-bdeps=y together with --complete-graph makes " + \
430 - "the graph as complete as possible."
431 - for line in wrap(desc, desc_width):
432 - print(desc_indent + line)
433 - print()
434 - print(" "+green("--config-root=DIR"))
435 - desc = "Set the PORTAGE_CONFIGROOT environment variable " + \
436 - "which is documented in the emerge(1) man page."
437 - for line in wrap(desc, desc_width):
438 - print(desc_indent + line)
439 - print()
440 - print(" "+green("--debug")+" ("+green("-d")+" short option)")
441 - print(" Tell emerge to run the ebuild command in --debug mode. In this")
442 - print(" mode, the bash build environment will run with the -x option,")
443 - print(" causing it to output verbose debug information print to stdout.")
444 - print(" --debug is great for finding bash syntax errors as providing")
445 - print(" very verbose information about the dependency and build process.")
446 - print()
447 - print(" "+green("--deep") + " " + turquoise("[DEPTH]") + \
448 - " (" + green("-D") + " short option)")
449 - print(" This flag forces emerge to consider the entire dependency tree of")
450 - print(" packages, instead of checking only the immediate dependencies of")
451 - print(" the packages. As an example, this catches updates in libraries")
452 - print(" that are not directly listed in the dependencies of a package.")
453 - print(" Also see --with-bdeps for behavior with respect to build time")
454 - print(" dependencies that are not strictly required.")
455 - print()
456 -
457 - if _ENABLE_DYN_LINK_MAP:
458 - print(" " + green("--depclean-lib-check") + " [ %s | %s ]" % \
459 - (turquoise("y"), turquoise("n")))
460 - desc = "Account for library link-level dependencies during " + \
461 - "--depclean and --prune actions. This " + \
462 - "option is enabled by default. In some cases this can " + \
463 - "be somewhat time-consuming. This option is ignored " + \
464 - "when FEATURES=\"preserve-libs\" is enabled in " + \
465 - "make.conf(5), since any libraries that have " + \
466 - "consumers will simply be preserved."
467 - for line in wrap(desc, desc_width):
468 - print(desc_indent + line)
469 - print()
470 -
471 - print(" "+green("--emptytree")+" ("+green("-e")+" short option)")
472 - desc = "Reinstalls target atoms and their entire deep " + \
473 - "dependency tree, as though no packages are currently " + \
474 - "installed. You should run this with --pretend " + \
475 - "first to make sure the result is what you expect."
476 - for line in wrap(desc, desc_width):
477 - print(desc_indent + line)
478 - print()
479 - print(" " + green("--exclude") + " " + turquoise("ATOMS"))
480 - desc = "A space separated list of package names or slot atoms. " + \
481 - "Emerge won't install any ebuild or binary package that " + \
482 - "matches any of the given package atoms."
483 - for line in wrap(desc, desc_width):
484 - print(desc_indent + line)
485 - print()
486 - print(" " + green("--fail-clean") + " [ %s | %s ]" % \
487 - (turquoise("y"), turquoise("n")))
488 - desc = "Clean up temporary files after a build failure. This is " + \
489 - "particularly useful if you have PORTAGE_TMPDIR on " + \
490 - "tmpfs. If this option is enabled, you probably also want " + \
491 - "to enable PORT_LOGDIR (see make.conf(5)) in " + \
492 - "order to save the build log."
493 - for line in wrap(desc, desc_width):
494 - print(desc_indent + line)
495 - print()
496 - print(" "+green("--fetchonly")+" ("+green("-f")+" short option)")
497 - print(" Instead of doing any package building, just perform fetches for")
498 - print(" all packages (main package as well as all dependencies.) When")
499 - print(" used in combination with --pretend all the SRC_URIs will be")
500 - print(" displayed multiple mirrors per line, one line per file.")
501 - print()
502 - print(" "+green("--fetch-all-uri")+" ("+green("-F")+" short option)")
503 - print(" Same as --fetchonly except that all package files, including those")
504 - print(" not required to build the package, will be processed.")
505 - print()
506 - print(" " + green("--getbinpkg") + \
507 - " [ %s | %s ] (%s short option)" % \
508 - (turquoise("y"), turquoise("n"), green("-g")))
509 - print(" Using the server and location defined in PORTAGE_BINHOST, portage")
510 - print(" will download the information from each binary file there and it")
511 - print(" will use that information to help build the dependency list. This")
512 - print(" option implies '-k'. (Use -gK for binary-only merging.)")
513 - print()
514 - print(" " + green("--getbinpkgonly") + \
515 - " [ %s | %s ] (%s short option)" % \
516 - (turquoise("y"), turquoise("n"), green("-G")))
517 - print(" This option is identical to -g, as above, except it will not use")
518 - print(" ANY information from the local machine. All binaries will be")
519 - print(" downloaded from the remote server without consulting packages")
520 - print(" existing in the packages directory.")
521 - print()
522 - print(" " + green("--jobs") + " " + turquoise("[JOBS]") + " ("+green("-j")+" short option)")
523 - desc = "Specifies the number of packages " + \
524 - "to build simultaneously. If this option is " + \
525 - "given without an argument, emerge will not " + \
526 - "limit the number of jobs that " + \
527 - "can run simultaneously. Also see " + \
528 - "the related --load-average option. " + \
529 - "Note that interactive packages currently force a setting " + \
530 - "of --jobs=1. This issue can be temporarily avoided " + \
531 - "by specifying --accept-properties=-interactive."
532 - for line in wrap(desc, desc_width):
533 - print(desc_indent + line)
534 - print()
535 - print(" " + green("--keep-going") + " [ %s | %s ]" % \
536 - (turquoise("y"), turquoise("n")))
537 - desc = "Continue as much as possible after " + \
538 - "an error. When an error occurs, " + \
539 - "dependencies are recalculated for " + \
540 - "remaining packages and any with " + \
541 - "unsatisfied dependencies are " + \
542 - "automatically dropped. Also see " + \
543 - "the related --skipfirst option."
544 - for line in wrap(desc, desc_width):
545 - print(desc_indent + line)
546 - print()
547 - print(" " + green("--load-average") + " " + turquoise("LOAD"))
548 - desc = "Specifies that no new builds should " + \
549 - "be started if there are other builds " + \
550 - "running and the load average is at " + \
551 - "least LOAD (a floating-point number). " + \
552 - "This option is recommended for use " + \
553 - "in combination with --jobs in " + \
554 - "order to avoid excess load. See " + \
555 - "make(1) for information about " + \
556 - "analogous options that should be " + \
557 - "configured via MAKEOPTS in " + \
558 - "make.conf(5)."
559 - for line in wrap(desc, desc_width):
560 - print(desc_indent + line)
561 - print()
562 - print(" " + green("--misspell-suggestions") + " < %s | %s >" % \
563 - (turquoise("y"), turquoise("n")))
564 - desc = "Enable or disable misspell suggestions. By default, " + \
565 - "emerge will show a list of packages with similar names " + \
566 - "when a package doesn't exist. The EMERGE_DEFAULT_OPTS " + \
567 - "variable may be used to disable this option by default"
568 - for line in wrap(desc, desc_width):
569 - print(desc_indent + line)
570 - print()
571 - print(" "+green("--newuse")+" ("+green("-N")+" short option)")
572 - desc = "Tells emerge to include installed packages where USE " + \
573 - "flags have changed since compilation. This option " + \
574 - "also implies the --selective option. If you would " + \
575 - "like to skip rebuilds for which disabled flags have " + \
576 - "been added to or removed from IUSE, see the related " + \
577 - "--reinstall=changed-use option."
578 - for line in wrap(desc, desc_width):
579 - print(desc_indent + line)
580 - print()
581 - print(" "+green("--noconfmem"))
582 - print(" Portage keeps track of files that have been placed into")
583 - print(" CONFIG_PROTECT directories, and normally it will not merge the")
584 - print(" same file more than once, as that would become annoying. This")
585 - print(" can lead to problems when the user wants the file in the case")
586 - print(" of accidental deletion. With this option, files will always be")
587 - print(" merged to the live fs instead of silently dropped.")
588 - print()
589 - print(" "+green("--nodeps")+" ("+green("-O")+" short option)")
590 - print(" Merge specified packages, but don't merge any dependencies.")
591 - print(" Note that the build may fail if deps aren't satisfied.")
592 - print()
593 - print(" "+green("--noreplace")+" ("+green("-n")+" short option)")
594 - print(" Skip the packages specified on the command-line that have")
595 - print(" already been installed. Without this option, any packages,")
596 - print(" ebuilds, or deps you specify on the command-line *will* cause")
597 - print(" Portage to remerge the package, even if it is already installed.")
598 - print(" Note that Portage won't remerge dependencies by default.")
599 - print()
600 - print(" "+green("--nospinner"))
601 - print(" Disables the spinner regardless of terminal type.")
602 - print()
603 - print(" " + green("--usepkg-exclude") + " " + turquoise("ATOMS"))
604 - desc = "A space separated list of package names or slot atoms." + \
605 - " Emerge will ignore matching binary packages."
606 - for line in wrap(desc, desc_width):
607 - print(desc_indent + line)
608 - print()
609 - print(" " + green("--rebuild-exclude") + " " + turquoise("ATOMS"))
610 - desc = "A space separated list of package names or slot atoms." + \
611 - " Emerge will not rebuild matching packages due to --rebuild."
612 - for line in wrap(desc, desc_width):
613 - print(desc_indent + line)
614 - print()
615 - print(" " + green("--rebuild-ignore") + " " + turquoise("ATOMS"))
616 - desc = "A space separated list of package names or slot atoms." + \
617 - " Emerge will not rebuild packages that depend on matching " + \
618 - " packages due to --rebuild."
619 - for line in wrap(desc, desc_width):
620 - print(desc_indent + line)
621 - print()
622 - print(" "+green("--oneshot")+" ("+green("-1")+" short option)")
623 - print(" Emerge as normal, but don't add packages to the world profile.")
624 - print(" This package will only be updated if it is depended upon by")
625 - print(" another package.")
626 - print()
627 - print(" "+green("--onlydeps")+" ("+green("-o")+" short option)")
628 - print(" Only merge (or pretend to merge) the dependencies of the")
629 - print(" specified packages, not the packages themselves.")
630 - print()
631 - print(" " + green("--package-moves") + " [ %s | %s ]" % \
632 - (turquoise("y"), turquoise("n")))
633 - desc = "Perform package moves when necessary. This option " + \
634 - "is enabled by default. WARNING: This option " + \
635 - "should remain enabled under normal circumstances. " + \
636 - "Do not disable it unless you know what you are " + \
637 - "doing."
638 - for line in wrap(desc, desc_width):
639 - print(desc_indent + line)
640 - print()
641 - print(" "+green("--pretend")+" ("+green("-p")+" short option)")
642 - print(" Instead of actually performing the merge, simply display what")
643 - print(" ebuilds and tbz2s *would* have been installed if --pretend")
644 - print(" weren't used. Using --pretend is strongly recommended before")
645 - print(" installing an unfamiliar package. In the printout, N = new,")
646 - print(" U = updating, R = replacing, F = fetch restricted, B = blocked")
647 - print(" by an already installed package, D = possible downgrading,")
648 - print(" S = slotted install. --verbose causes affecting use flags to be")
649 - print(" printed out accompanied by a '+' for enabled and a '-' for")
650 - print(" disabled USE flags.")
651 - print()
652 - print(" " + green("--quiet") + \
653 - " [ %s | %s ] (%s short option)" % \
654 - (turquoise("y"), turquoise("n"), green("-q")))
655 - print(" Effects vary, but the general outcome is a reduced or condensed")
656 - print(" output from portage's displays.")
657 - print()
658 - print(" " + green("--quiet-build") + \
659 - " [ %s | %s ]" % (turquoise("y"), turquoise("n")))
660 - desc = "Redirect all build output to logs alone, and do not " + \
661 - "display it on stdout."
662 - for line in wrap(desc, desc_width):
663 - print(desc_indent + line)
664 - print()
665 - print(" "+green("--quiet-unmerge-warn"))
666 - desc = "Disable the warning message that's shown prior to " + \
667 - "--unmerge actions. This option is intended " + \
668 - "to be set in the make.conf(5) " + \
669 - "EMERGE_DEFAULT_OPTS variable."
670 - for line in wrap(desc, desc_width):
671 - print(desc_indent + line)
672 - print()
673 - print(" " + green("--rebuild-if-new-rev") + " [ %s | %s ]" % \
674 - (turquoise("y"), turquoise("n")))
675 - desc = "Rebuild packages when build-time dependencies are built " + \
676 - "from source, if the dependency is not already installed with " + \
677 - "the same version and revision."
678 - for line in wrap(desc, desc_width):
679 - print(desc_indent + line)
680 - print()
681 - print(" " + green("--rebuild-if-new-ver") + " [ %s | %s ]" % \
682 - (turquoise("y"), turquoise("n")))
683 - desc = "Rebuild packages when build-time dependencies are built " + \
684 - "from source, if the dependency is not already installed with " + \
685 - "the same version. Revision numbers are ignored."
686 - for line in wrap(desc, desc_width):
687 - print(desc_indent + line)
688 - print()
689 - print(" " + green("--rebuild-if-unbuilt") + " [ %s | %s ]" % \
690 - (turquoise("y"), turquoise("n")))
691 - desc = "Rebuild packages when build-time dependencies are built " + \
692 - "from source"
693 - for line in wrap(desc, desc_width):
694 - print(desc_indent + line)
695 - print()
696 - print(" " + green("--rebuilt-binaries") + " [ %s | %s ]" % \
697 - (turquoise("y"), turquoise("n")))
698 - desc = "Replace installed packages with binary packages that have " + \
699 - "been rebuilt. Rebuilds are detected by comparison of " + \
700 - "BUILD_TIME package metadata. This option is enabled " + \
701 - "automatically when using binary packages " + \
702 - "(--usepkgonly or --getbinpkgonly) together with " + \
703 - "--update and --deep."
704 - for line in wrap(desc, desc_width):
705 - print(desc_indent + line)
706 - print()
707 - print(" "+green("--rebuilt-binaries-timestamp") + "=%s" % turquoise("TIMESTAMP"))
708 - desc = "This option modifies emerge's behaviour only if " + \
709 - "--rebuilt-binaries is given. Only binaries that " + \
710 - "have a BUILD_TIME that is larger than the given TIMESTAMP " + \
711 - "and that is larger than that of the installed package will " + \
712 - "be considered by the rebuilt-binaries logic."
713 - for line in wrap(desc, desc_width):
714 - print(desc_indent + line)
715 - print()
716 - print(" "+green("--reinstall ") + turquoise("changed-use"))
717 - print(" Tells emerge to include installed packages where USE flags have")
718 - print(" changed since installation. Unlike --newuse, this option does")
719 - print(" not trigger reinstallation when flags that the user has not")
720 - print(" enabled are added or removed.")
721 - print()
722 - print(" " + green("--reinstall-atoms") + " " + turquoise("ATOMS"))
723 - desc = "A space separated list of package names or slot atoms. " + \
724 - "Emerge will treat matching packages as if they are not " + \
725 - "installed, and reinstall them if necessary."
726 - for line in wrap(desc, desc_width):
727 - print(desc_indent + line)
728 - print()
729 - print(" "+green("--root=DIR"))
730 - desc = "Set the ROOT environment variable " + \
731 - "which is documented in the emerge(1) man page."
732 - for line in wrap(desc, desc_width):
733 - print(desc_indent + line)
734 - print()
735 - print(" "+green("--root-deps[=rdeps]"))
736 - desc = "If no argument is given then build-time dependencies of packages for " + \
737 - "ROOT are installed to " + \
738 - "ROOT instead of /. If the rdeps argument is given then discard " + \
739 - "all build-time dependencies of packages for ROOT. This option is " + \
740 - "only meaningful when used together with ROOT and it should not " + \
741 - "be enabled under normal circumstances. For currently supported " + \
742 - "EAPI values, the build-time dependencies are specified in the " + \
743 - "DEPEND variable. However, behavior may change for new " + \
744 - "EAPIs when related extensions are added in the future."
745 - for line in wrap(desc, desc_width):
746 - print(desc_indent + line)
747 - print()
748 - print(" " + green("--select") + " [ %s | %s ]" % \
749 - (turquoise("y"), turquoise("n")))
750 - desc = "Add specified packages to the world set (inverse of " + \
751 - "--oneshot). This is useful if you want to " + \
752 - "use EMERGE_DEFAULT_OPTS to make " + \
753 - "--oneshot behavior default."
754 - for line in wrap(desc, desc_width):
755 - print(desc_indent + line)
756 - print()
757 - print(" " + green("--selective") + " [ %s | %s ]" % \
758 - (turquoise("y"), turquoise("n")))
759 - desc = "This identical to the --noreplace option. " + \
760 - "Some options, such as --update, imply --selective. " + \
761 - "Use --selective=n if you want to forcefully disable " + \
762 - "--selective, regardless of options like --update."
763 - for line in wrap(desc, desc_width):
764 - print(desc_indent + line)
765 - print()
766 - print(" "+green("--skipfirst"))
767 - desc = "This option is only valid when " + \
768 - "used with --resume. It removes the " + \
769 - "first package in the resume list. " + \
770 - "Dependencies are recalculated for " + \
771 - "remaining packages and any that " + \
772 - "have unsatisfied dependencies or are " + \
773 - "masked will be automatically dropped. " + \
774 - "Also see the related " + \
775 - "--keep-going option."
776 - for line in wrap(desc, desc_width):
777 - print(desc_indent + line)
778 - print()
779 - print(" "+green("--tree")+" ("+green("-t")+" short option)")
780 - print(" Shows the dependency tree using indentation for dependencies.")
781 - print(" The packages are also listed in reverse merge order so that")
782 - print(" a package's dependencies follow the package. Only really useful")
783 - print(" in combination with --emptytree, --update or --deep.")
784 - print()
785 - print(" " + green("--unordered-display"))
786 - desc = "By default the displayed merge list is sorted using the " + \
787 - "order in which the packages will be merged. When " + \
788 - "--tree is used together with this option, this " + \
789 - "constraint is removed, hopefully leading to a more " + \
790 - "readable dependency tree."
791 - for line in wrap(desc, desc_width):
792 - print(desc_indent + line)
793 - print()
794 - print(" "+green("--update")+" ("+green("-u")+" short option)")
795 - desc = "Updates packages to the best version available, which may " + \
796 - "not always be the highest version number due to masking " + \
797 - "for testing and development. Package atoms specified on " + \
798 - "the command line are greedy, meaning that unspecific " + \
799 - "atoms may match multiple versions of slotted packages."
800 - for line in wrap(desc, desc_width):
801 - print(desc_indent + line)
802 - print()
803 - print(" " + green("--use-ebuild-visibility") + " [ %s | %s ]" % \
804 - (turquoise("y"), turquoise("n")))
805 - desc = "Use unbuilt ebuild metadata for visibility " + \
806 - "checks on built packages."
807 - for line in wrap(desc, desc_width):
808 - print(desc_indent + line)
809 - print()
810 - print(" " + green("--useoldpkg-atoms") + " " + turquoise("ATOMS"))
811 - desc = "A space separated list of package names or slot atoms." + \
812 - " Emerge will prefer matching binary packages over newer" + \
813 - " unbuilt packages."
814 - for line in wrap(desc, desc_width):
815 - print(desc_indent + line)
816 - print()
817 - print(" " + green("--usepkg") + \
818 - " [ %s | %s ] (%s short option)" % \
819 - (turquoise("y"), turquoise("n"), green("-k")))
820 - print(" Tell emerge to use binary packages (from $PKGDIR) if they are")
821 - print(" available, thus possibly avoiding some time-consuming compiles.")
822 - print(" This option is useful for CD installs; you can export")
823 - print(" PKGDIR=/mnt/cdrom/packages and then use this option to have")
824 - print(" emerge \"pull\" binary packages from the CD in order to satisfy")
825 - print(" dependencies.")
826 - print()
827 - print(" " + green("--usepkgonly") + \
828 - " [ %s | %s ] (%s short option)" % \
829 - (turquoise("y"), turquoise("n"), green("-K")))
830 - print(" Like --usepkg above, except this only allows the use of binary")
831 - print(" packages, and it will abort the emerge if the package is not")
832 - print(" available at the time of dependency calculation.")
833 - print()
834 - print(" "+green("--verbose")+" ("+green("-v")+" short option)")
835 - print(" Effects vary, but the general outcome is an increased or expanded")
836 - print(" display of content in portage's displays.")
837 - print()
838 - print(" "+green("--with-bdeps")+" < " + turquoise("y") + " | "+ turquoise("n")+" >")
839 - print(" In dependency calculations, pull in build time dependencies that")
840 - print(" are not strictly required. This defaults to 'n' for installation")
841 - print(" actions and 'y' for the --depclean action. This setting can be")
842 - print(" added to EMERGE_DEFAULT_OPTS (see make.conf(5)) and later")
843 - print(" overridden via the command line.")
844 - print()
845 + print()
846 + print(" For more help consult the man page.")
847
848 diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
849 index 3f47af7..96a6cfa 100644
850 --- a/pym/_emerge/main.py
851 +++ b/pym/_emerge/main.py
852 @@ -1611,7 +1611,7 @@ def emerge_main(args=None):
853 trees[settings["ROOT"]]["vartree"].dbapi) + '\n', noiselevel=-1)
854 return 0
855 elif myaction == 'help':
856 - _emerge.help.help(myopts, portage.output.havecolor)
857 + _emerge.help.help()
858 return 0
859
860 spinner = stdout_spinner()
861 @@ -1756,7 +1756,7 @@ def emerge_main(args=None):
862 print("myopts", myopts)
863
864 if not myaction and not myfiles and "--resume" not in myopts:
865 - _emerge.help.help(myopts, portage.output.havecolor)
866 + _emerge.help.help()
867 return 1
868
869 pretend = "--pretend" in myopts