From: Nathan Wagner Date: Fri, 22 Feb 2019 22:54:54 +0000 (+0000) Subject: add dependencies to package hash X-Git-Tag: v0.7.0~18 X-Git-Url: https://pd.if.org/git/?p=zpackage;a=commitdiff_plain;h=160587258d4032ba91ad2bc135ae611236b61f49 add dependencies to package hash --- 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) {