Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Do not convert checksum for non regular files
Baptiste Daroussin committed 13 years ago
commit 67b884dec33e9fd24ee1f938ab1e6ab487f35a72
parent fd375e679048851d7273bbae08d664727116287f
2 files changed +14 -3
modified libpkg/pkg_old.c
@@ -172,11 +172,16 @@ pkg_to_old(struct pkg *p)
{
	struct pkg_file *f = NULL;
	char md5[MD5_DIGEST_LENGTH * 2 + 1];
+
	const char *sum;

	p->type = PKG_OLD_FILE;
-
	while (pkg_files(p, &f) == EPKG_OK)
+
	while (pkg_files(p, &f) == EPKG_OK) {
+
		sum = pkg_file_cksum(f);
+
		if (sum == NULL || sum[0] == '\0')
+
			continue;
		if (md5_file(pkg_file_path(f), md5) == EPKG_OK)
			strlcpy(f->sum, md5, sizeof(f->sum));
+
	}

	return (EPKG_OK);
}
@@ -186,11 +191,16 @@ pkg_from_old(struct pkg *p)
{
	struct pkg_file *f = NULL;
	char sha256[SHA256_DIGEST_LENGTH * 2 + 1];
+
	const char *sum;

	p->type = PKG_INSTALLED;
-
	while (pkg_files(p, &f) == EPKG_OK)
+
	while (pkg_files(p, &f) == EPKG_OK) {
+
		sum = pkg_file_cksum(f);
+
		if (sum == NULL || sum[0] == '\0')
+
			continue;
		if (sha256_file(pkg_file_path(f), sha256) == EPKG_OK)
			strlcpy(f->sum, sha256, sizeof(f->sum));
+
	}

	return (EPKG_OK);
}
modified pkg/convert.c
@@ -150,8 +150,9 @@ convert_from_old(void)
			pkg_old_load_from_path(p, path);
			pkg_from_old(p);
			pkg_get(p, PKG_NAME, &name, PKG_VERSION, &version);
-
			printf("Converting %s-%s...\n", name, version);
+
			printf("Converting %s-%s...", name, version);
			pkgdb_register_ports(db, p);
+
			printf("done\n");
		}
	}