public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] portage r11168 - in main/trunk: . man pym/_emerge
@ 2008-07-22 13:29 Zac Medico (zmedico)
  0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2008-07-22 13:29 UTC (permalink / raw
  To: gentoo-commits

Author: zmedico
Date: 2008-07-22 13:29:14 +0000 (Tue, 22 Jul 2008)
New Revision: 11168

Modified:
   main/trunk/NEWS
   main/trunk/man/emerge.1
   main/trunk/pym/_emerge/__init__.py
   main/trunk/pym/_emerge/help.py
Log:
Update --depclean and --prune, removing warnings about libraries since those
are now automatically accounted for.


Modified: main/trunk/NEWS
===================================================================
--- main/trunk/NEWS	2008-07-22 12:24:53 UTC (rev 11167)
+++ main/trunk/NEWS	2008-07-22 13:29:14 UTC (rev 11168)
@@ -3,6 +3,8 @@
 portage-2.2
 -------------
 
+* Add link level dependency awareness to emerge --depclean and --prune actions
+  in order to protect against uninstallation of required libraries.
 * Add emerge --jobs and --load-average options which specify behavior
   for building packages in parallel or for generating metadata in parallel
   with emerge --regen.

Modified: main/trunk/man/emerge.1
===================================================================
--- main/trunk/man/emerge.1	2008-07-22 12:24:53 UTC (rev 11167)
+++ main/trunk/man/emerge.1	2008-07-22 13:29:14 UTC (rev 11168)
@@ -103,19 +103,22 @@
 .BR \-\-depclean
 Cleans the system by removing packages that are not associated
 with explicitly merged packages. Depclean works by creating the
-full dependency tree from the system and world sets,
+full dependency tree from the @system and @world sets,
 then comparing it to installed packages. Packages installed, but
 not part of the dependency tree, will be uninstalled by depclean.
-Inexperienced users are advised to use \fB\-\-pretend\fR
-with this option in order to see a preview of which packages
-will be uninstalled.
+See \fB\-\-with\-bdeps\fR for behavior with respect to build time dependencies
+that are not strictly required. Packages that are part of the world set will
+always be kept. They can be manually added to this set with \fIemerge
+\-\-noreplace <atom>\fR. As a safety measure, depclean will not remove any
+packages unless *all* required dependencies have been resolved. As a
+consequence, it is often necessary to run \fIemerge \-\-update \-\-newuse
+\-\-deep \-\-oneshot @system @world\fR prior to depclean. 
 
-\fBWARNING: Removing some
-packages may cause packages which link to the removed package 
-to stop working and complain about missing libraries.\fR
-Rebuild the complaining package to fix this issue.  Also see
-\fB\-\-with\-bdeps\fR for behavior with respect to build time dependencies that
-are not strictly required. Note that packages listed in
+\fBWARNING:\fR
+Inexperienced users are advised to use \fB\-\-pretend\fR with this
+option in order to see a preview of which packages
+will be uninstalled. Always study the list of packages
+to be cleaned for any obvious mistakes. Note that packages listed in
 package.provided (see \fBportage\fR(5)) may be removed by
 depclean, even if they are part of the world set.
 
@@ -150,11 +153,9 @@
 .TP
 .BR "\-\-prune " (\fB\-P\fR)
 \fBWARNING: This action can remove important packages!\fR  Removes all but the
-highest installed version of a package from your system. This action doesn't
-verify the possible binary compatibility between versions and can thus remove
-essential dependencies from your system. Use \fB\-\-prune\fR together with
-\fB\-\-verbose\fR to show reverse dependencies or with \fB\-\-nodeps\fR to
-ignore all dependencies.
+highest installed version of a package from your system. Use \fB\-\-prune\fR
+together with \fB\-\-verbose\fR to show reverse dependencies or with
+\fB\-\-nodeps\fR to ignore all dependencies.
 .TP
 .BR \-\-regen
 Causes portage to check and update the dependency cache of all ebuilds in the 

Modified: main/trunk/pym/_emerge/__init__.py
===================================================================
--- main/trunk/pym/_emerge/__init__.py	2008-07-22 12:24:53 UTC (rev 11167)
+++ main/trunk/pym/_emerge/__init__.py	2008-07-22 13:29:14 UTC (rev 11168)
@@ -11455,8 +11455,10 @@
 	msg.append("\n")
 	msg.append("As a safety measure, depclean will not remove any packages\n")
 	msg.append("unless *all* required dependencies have been resolved.  As a\n")
-	msg.append("consequence, it is often necessary to run\n")
-	msg.append(good("`emerge --update --newuse --deep world`") + " prior to depclean.\n")
+	msg.append("consequence, it is often necessary to run %s\n" % \
+		good("`emerge --update"))
+	msg.append(good("--newuse --deep --oneshot @system @world`") + \
+		" prior to depclean.\n")
 
 	if action == "depclean" and "--quiet" not in myopts and not myfiles:
 		portage.writemsg_stdout("\n")

Modified: main/trunk/pym/_emerge/help.py
===================================================================
--- main/trunk/pym/_emerge/help.py	2008-07-22 12:24:53 UTC (rev 11167)
+++ main/trunk/pym/_emerge/help.py	2008-07-22 13:29:14 UTC (rev 11168)
@@ -66,35 +66,42 @@
 		print "              file setup or other similar setups that the user may wish to run."
 		print
 		print "       "+green("--depclean")
-		paragraph = "Cleans the system by removing packages that are not associated " + \
-			"with explicitly merged packages. Depclean works by creating the " + \
-			"full dependency tree from the system and world sets, " + \
-			"then comparing it to installed packages. Packages installed, but " + \
-			"not part of the dependency tree, will be uninstalled by depclean. " + \
-			"Inexperienced users are advised to use --pretend " + \
-			"with this option in order to see a preview of which packages " + \
-			"will be uninstalled."
+
+		paragraph = "Cleans the system by removing packages that are " + \
+		"not associated with explicitly merged packages. Depclean works " + \
+		"by creating the full dependency tree from the @system and " + \
+		"@world sets, then comparing it to installed packages. Packages " + \
+		"installed, but not part of the dependency tree, will be " + \
+		"uninstalled by depclean. See --with-bdeps for behavior with " + \
+		"respect to build time dependencies that are not strictly " + \
+		"required. Packages that are part of the world set will " + \
+		"always be kept. They can be manually added to this set with " + \
+		"emerge --noreplace <atom>. As a safety measure, depclean " + \
+		"will not remove any packages unless *all* required dependencies " + \
+		"have been resolved. As a consequence, it is often necessary to " + \
+		"run emerge --update --newuse --deep --oneshot @system @world " + \
+		"prior to depclean."
+
 		for line in wrap(paragraph, desc_width):
 			print desc_indent + line
 		print
 
-		paragraph =  "WARNING: Removing some " + \
-			"packages may cause packages which link to the removed package  " + \
-			"to stop working and complain about missing libraries. " + \
-			"Rebuild the complaining package to fix this issue.  Also see " + \
-			"--with-bdeps for behavior with respect to build time dependencies that " + \
-			"are not strictly required. Note that packages listed in " + \
-			"package.provided (see portage(5)) may be removed by " + \
-			"depclean, even if they are part of the world set."
+		paragraph =  "WARNING: Inexperienced users are advised to use " + \
+		"--pretend with this option in order to see a preview of which " + \
+		"packages will be uninstalled. Always study the list of packages " + \
+		"to be cleaned for any obvious mistakes. Note that packages " + \
+		"listed in package.provided (see portage(5)) may be removed by " + \
+		"depclean, even if they are part of the world set."
+
 		for line in wrap(paragraph, desc_width):
 			print desc_indent + line
 		print
 
-		paragraph = "Depclean serves as a dependency aware " + \
-			"version of --unmerge. When given one or more atoms, it will " + \
-			"unmerge matched packages that have no reverse dependencies. Use " + \
-			"--depclean together with --verbose to show reverse " + \
-			"dependencies."
+		paragraph = "Depclean serves as a dependency aware version of " + \
+			"--unmerge. When given one or more atoms, it will unmerge " + \
+			"matched packages that have no reverse dependencies. Use " + \
+			"--depclean together with --verbose to show reverse dependencies."
+
 		for line in wrap(paragraph, desc_width):
 			print desc_indent + line
 		print
@@ -116,12 +123,13 @@
 		print
 		print "       "+green("--prune")+" ("+green("-P")+" short option)"
 		print "              "+turquoise("WARNING: This action can remove important packages!")
-		print "              Removes all but the highest installed version of a package"
-		print "              from your system. This action doesn't verify the possible binary"
-		print "              compatibility between versions and can thus remove essential"
-		print "              dependencies from your system. Use --prune together with"
-		print "              --verbose to show reverse dependencies or with --nodeps to"
-		print "              ignore all dependencies."
+		paragraph = "Removes all but the highest installed version of a " + \
+			"package from your system. Use --prune together with " + \
+			"--verbose to show reverse dependencies or with --nodeps " + \
+			"to ignore all dependencies. "
+
+		for line in wrap(paragraph, desc_width):
+			print desc_indent + line
 		print
 		print "       "+green("--regen")
 		print "              Causes portage to check and update the dependency cache of all"




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-07-22 13:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-22 13:29 [gentoo-commits] portage r11168 - in main/trunk: . man pym/_emerge Zac Medico (zmedico)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox