Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Let dry_mode auto update the catalogs if -U is not passed
Baptiste Daroussin committed 12 years ago
commit be75b0b2ac271b35b289051769f8521215fbc169
parent d36fbe6
2 files changed +16 -4
modified pkg/install.c
@@ -125,7 +125,7 @@ exec_install(int argc, char **argv)
		return (EX_USAGE);
	}

-
	if (dry_run)
+
	if (dry_run && !auto_update)
		retcode = pkgdb_access(PKGDB_MODE_READ,
				       PKGDB_DB_LOCAL   |
				       PKGDB_DB_REPO);
@@ -135,7 +135,14 @@ exec_install(int argc, char **argv)
				       PKGDB_MODE_CREATE,
				       PKGDB_DB_LOCAL   |
				       PKGDB_DB_REPO);
-
	
+

+

+
	if (retcode == EPKG_ENOACCESS && dry_run) {
+
		auto_update = false;
+
		retcode = pkgdb_access(PKGDB_MODE_READ,
+
				       PKGDB_DB_LOCAL|PKGDB_DB_REPO);
+
	}
+

	if (retcode == EPKG_ENOACCESS) {
		warnx("Insufficient privilege to install packages");
		return (EX_NOPERM);
modified pkg/upgrade.c
@@ -103,7 +103,7 @@ exec_upgrade(int argc, char **argv)
		return (EX_USAGE);
	}

-
	if (dry_run)
+
	if (dry_run && !auto_update)
		retcode = pkgdb_access(PKGDB_MODE_READ,
				       PKGDB_DB_LOCAL|PKGDB_DB_REPO);
	else
@@ -111,6 +111,11 @@ exec_upgrade(int argc, char **argv)
				       PKGDB_MODE_WRITE |
				       PKGDB_MODE_CREATE,
				       PKGDB_DB_LOCAL|PKGDB_DB_REPO);
+
	if (retcode == EPKG_ENOACCESS && dry_run) {
+
		auto_update = false;
+
		retcode = pkgdb_access(PKGDB_MODE_READ,
+
				       PKGDB_DB_LOCAL|PKGDB_DB_REPO);
+
	}

	if (retcode == EPKG_ENOACCESS) {
		warnx("Insufficient privilege to upgrade packages");
@@ -121,7 +126,7 @@ exec_upgrade(int argc, char **argv)
		retcode = EX_SOFTWARE;
	
	/* first update the remote repositories if needed */
-
	if (!dry_run && auto_update && 
+
	if (auto_update &&
	    (updcode = pkgcli_update(false)) != EPKG_OK)
		return (updcode);