Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Allow repo-less install.
Vsevolod Stakhov committed 12 years ago
commit bf2e6d95535fb9cf39a58e49b0a655dda58b15d2
parent e011698
4 files changed +6 -5
modified libpkg/pkg.h.in
@@ -120,7 +120,8 @@ typedef enum {

typedef enum {
	PKGDB_DEFAULT = 0,
-
	PKGDB_REMOTE
+
	PKGDB_REMOTE,
+
	PKGDB_MAYBE_REMOTE
} pkgdb_t;

/**
modified libpkg/pkg_jobs.c
@@ -59,7 +59,6 @@ int
pkg_jobs_new(struct pkg_jobs **j, pkg_jobs_t t, struct pkgdb *db)
{
	assert(db != NULL);
-
	assert(t != PKG_JOBS_INSTALL || db->type == PKGDB_REMOTE);

	if ((*j = calloc(1, sizeof(struct pkg_jobs))) == NULL) {
		pkg_emit_errno("calloc", "pkg_jobs");
modified libpkg/pkgdb.c
@@ -1160,11 +1160,12 @@ pkgdb_open(struct pkgdb **db_p, pkgdb_t type)
		}
	}

-
	if (type == PKGDB_REMOTE) {
+
	if (type == PKGDB_REMOTE || type == PKGDB_MAYBE_REMOTE) {
		if (pkg_repos_activated_count() > 0) {
+
			db->type = PKGDB_REMOTE;
			if ((ret = pkgdb_open_multirepos(dbdir, db)) != EPKG_OK)
				return (ret);
-
		} else {
+
		} else if (type == PKGDB_REMOTE) {
			if (*db_p == NULL)
				pkgdb_close(db);
			pkg_emit_error("No activated remote repositories configured");
modified src/install.c
@@ -158,7 +158,7 @@ exec_install(int argc, char **argv)
	if (auto_update && (updcode = pkgcli_update(false)) != EPKG_OK)
		return (updcode);

-
	if (pkgdb_open(&db, PKGDB_REMOTE) != EPKG_OK)
+
	if (pkgdb_open(&db, PKGDB_MAYBE_REMOTE) != EPKG_OK)
		return (EX_IOERR);

	if (pkgdb_obtain_lock(db, lock_type, 0, 0) != EPKG_OK) {