[pacman-dev] RFC: [PATCH] Deprecate --root in favour of --sysroot

Allan McRae allan at archlinux.org
Fri Jan 19 11:49:42 UTC 2018

The --root option was widely misunderstood, and is now replaced by

Signed-off-by: Allan McRae <allan at archlinux.org>

The idea of --sysroot was to provide something that --root never quite
did.  Is there any reason to keep --root?

 doc/pacman.8.txt    | 10 ----------
 src/pacman/pacman.c |  3 ++-
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt
index 48958358..a395b777 100644
--- a/doc/pacman.8.txt
+++ b/doc/pacman.8.txt
@@ -133,16 +133,6 @@ Options
 	*NOTE*: If specified, this is an absolute path, and the root path is
 	not automatically prepended.
-*-r, \--root* <path>::
-	Specify an alternative installation root (default is `/`). This should
-	not be used as a way to install software into `/usr/local` instead of
-	`/usr`.
-	*NOTE*: If database path or log file are not specified on either the
-	command line or in linkman:pacman.conf[5], their default location will
-	be inside this root path.
-	*NOTE*: This option is not suitable for performing operations on a mounted
-	guest system. See '\--sysroot' instead.
 *-v, \--verbose*::
 	Output paths such as as the Root, Conf File, DB Path, Cache Dirs, etc.
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 8c7f715e..98b3f326 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -211,7 +211,6 @@ static void usage(int op, const char * const myname)
 		addlist(_("  -b, --dbpath <path>  set an alternate database location\n"));
-		addlist(_("  -r, --root <path>    set an alternate installation root\n"));
 		addlist(_("  -v, --verbose        be verbose\n"));
 		addlist(_("      --arch <arch>    set an alternate architecture\n"));
 		addlist(_("      --sysroot        operate on a mounted guest system (root-only)\n"));
@@ -450,6 +449,8 @@ static int parsearg_global(int opt)
 		case OP_ROOT:
 		case 'r':
+			pm_printf(ALPM_LOG_WARNING,
+					_("option --root is deprecated; use --sysroot instead\n"));
 			config->rootdir = strdup(optarg);

More information about the pacman-dev mailing list