Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Do not convert checksum for non regular files
Baptiste Daroussin committed 13 years ago
commit 67b884dec33e9fd24ee1f938ab1e6ab487f35a72
parent fd375e6
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");
		}
	}