Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Do not fetch neither cache packages for file:// scheme
Baptiste Daroussin committed 12 years ago
commit 6cf42ffcb92098331e4ce53f57b67da6a5f7e0e9
parent 14ba7aa
2 files changed +11 -2
modified libpkg/pkg_jobs.c
@@ -1799,7 +1799,9 @@ pkg_jobs_handle_install(struct pkg_solved *ps, struct pkg_jobs *j, bool handle_r
		target = ps->items[0]->jp->path;
	}
	else {
-
		pkg_snprintf(path, sizeof(path), "%S/%u", cachedir, new);
+
		pkg_snprintf(path, sizeof(path), "%R", new);
+
		if (*path != '/')
+
			pkg_snprintf(path, sizeof(path), "%S/%u", cachedir, new);
		target = path;
	}

@@ -2127,7 +2129,9 @@ pkg_jobs_check_conflicts(struct pkg_jobs *j)
		else {
			p = ps->items[0]->pkg;
			if (p->type == PKG_REMOTE) {
-
				pkg_snprintf(path, sizeof(path), "%S/%u", cachedir, p);
+
				pkg_snprintf(path, sizeof(path), "%R", p);
+
				if (*path != '/')
+
					pkg_snprintf(path, sizeof(path), "%S/%u", cachedir, p);
				if (pkg_open(&pkg, path, keys, 0) != EPKG_OK)
					return (EPKG_FATAL);
				p = pkg;
modified libpkg/pkg_repo.c
@@ -109,6 +109,11 @@ pkg_repo_fetch(struct pkg *pkg)
	else
		pkg_snprintf(url, sizeof(url), "%S/%R", packagesite, pkg);

+
	if (strncasecmp(packagesite, "file://", 7) == 0) {
+
		pkg_set(pkg, PKG_REPOPATH, url + 7);
+
		return (EPKG_OK);
+
	}
+

	retcode = pkg_fetch_file(repo, url, dest, 0);
	fetched = 1;