36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
|
From e86f9def03b4330363ac0604e660ff4f0a980a39 Mon Sep 17 00:00:00 2001
|
||
|
From: Juan RP <xtraeme@gmail.com>
|
||
|
Date: Sat, 30 Nov 2013 08:04:37 +0100
|
||
|
Subject: [PATCH] xbps-rindex: fix #25 (--sign unnecessarily regenerates
|
||
|
<arch>-repodata).
|
||
|
|
||
|
---
|
||
|
NEWS | 2 ++
|
||
|
bin/xbps-rindex/sign.c | 9 +++++++++
|
||
|
2 files changed, 11 insertions(+)
|
||
|
|
||
|
diff --git a/bin/xbps-rindex/sign.c b/bin/xbps-rindex/sign.c
|
||
|
index 1f791e1..510b326 100644
|
||
|
--- bin/xbps-rindex/sign.c
|
||
|
+++ bin/xbps-rindex/sign.c
|
||
|
@@ -188,7 +188,16 @@ sign_repo(struct xbps_handle *xhp, const char *repodir,
|
||
|
meta = xbps_dictionary_create();
|
||
|
xbps_dictionary_set_cstring_nocopy(meta, "signature-by", signedby);
|
||
|
xbps_dictionary_set_cstring_nocopy(meta, "signature-type", "rsa");
|
||
|
+ /*
|
||
|
+ * If the signature in repo has not changed do not generate the
|
||
|
+ * repodata file again.
|
||
|
+ */
|
||
|
data = xbps_data_create_data_nocopy(sig, siglen);
|
||
|
+ if (xbps_data_equals_data(data, sig, siglen)) {
|
||
|
+ fprintf(stderr, "Not signing again, matched signature found.\n");
|
||
|
+ rv = 0;
|
||
|
+ goto out;
|
||
|
+ }
|
||
|
xbps_dictionary_set(meta, "signature", data);
|
||
|
|
||
|
buf = pubkey_from_privkey(rsa);
|
||
|
--
|
||
|
1.8.4.1
|
||
|
|