From 160587258d4032ba91ad2bc135ae611236b61f49 Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Fri, 22 Feb 2019 22:54:54 +0000 Subject: [PATCH] add dependencies to package hash --- lib/integ.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/integ.c b/lib/integ.c index 57e7d87..13a2505 100644 --- a/lib/integ.c +++ b/lib/integ.c @@ -148,9 +148,10 @@ int zpm_package_hash(struct zpm *zpm, char *pkgid, char *hash) { return 0; } - sha256_init(&d); /* find package */ + sha256_init(&d); + sql = sqlite3_mprintf("select package,version,release,description,architecture,url,licenses,packager,build_time from packages_pkgid where pkgid = %Q", pkgid); hash_query(zpm, sql, &d); @@ -165,6 +166,14 @@ int zpm_package_hash(struct zpm *zpm, char *pkgid, char *hash) { hash_query(zpm, sql, &d); sqlite3_free(sql); + /* package dependencies */ + sql = sqlite3_mprintf("dselect requires from packagedeps" + " where printf('%%q-%%q-%%d',package,version,release) = %Q" + "order by requires", + pkgid); + hash_query(zpm, sql, &d); + sqlite3_free(sql); + sha256_done(&d, tmp); for (i=0; i<32; i++) { sprintf(hash+i*2, "%02x", (unsigned)tmp[i]); @@ -172,7 +181,6 @@ int zpm_package_hash(struct zpm *zpm, char *pkgid, char *hash) { hash[64] = 0; return 1; - } int zpm_package_sethash(struct zpm *zpm, char *pkgid, char *hash) { -- 2.40.0