From 9c7c63275682c36d6adff90b4b4436ed546ee268 Mon Sep 17 00:00:00 2001 From: Roberto Sassu Date: Wed, 22 Jul 2020 17:24:58 +0200 Subject: [PATCH 03/13] Don't add dist to release if it is already there --- build/parsePreamble.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/parsePreamble.c b/build/parsePreamble.c index 729fd4f..306a029 100644 --- a/build/parsePreamble.c +++ b/build/parsePreamble.c @@ -801,7 +801,8 @@ static rpmRC handlePreambleTag(rpmSpec spec, Package pkg, rpmTagVal tag, SINGLE_TOKEN_ONLY; if (tag == RPMTAG_RELEASE) { char *dist = rpmExpand("%{?dist}",NULL); - rasprintf(&field,"%s%s",field,dist); + rasprintf(&field,"%s%s",field, + (dist && strstr(field, dist)) ? "" : dist); free(dist); } if (rpmCharCheck(spec, field, ALLOWED_CHARS_VERREL, NULL)) diff --git a/plugins/digest_list.c b/plugins/digest_list.c index 293593f..f68ec8c 100644 --- a/plugins/digest_list.c +++ b/plugins/digest_list.c @@ -5,8 +5,8 @@ #include #include #include -#include -#include +#include +#include "rpmio/rpmpgp_internal.h" #include #include "lib/rpmplugin.h" #include diff --git a/rpmio/rpmpgp_internal.c b/rpmio/rpmpgp_internal.c index 11b6855..16bf57e 100644 --- a/rpmio/rpmpgp_internal.c +++ b/rpmio/rpmpgp_internal.c @@ -19,35 +19,6 @@ static int _print = 0; -/** \ingroup rpmio - * Values parsed from OpenPGP signature/pubkey packet(s). - */ -struct pgpDigParams_s { - char * userid; - uint8_t * hash; - const uint8_t * data; - uint8_t tag; - - uint8_t key_flags; /*!< key usage flags */ - uint8_t version; /*!< version number. */ - uint32_t time; /*!< key/signature creation time. */ - uint8_t pubkey_algo; /*!< public key algorithm. */ - - uint8_t hash_algo; - uint8_t sigtype; - uint32_t hashlen; - uint8_t signhash16[2]; - pgpKeyID_t signid; - uint8_t saved; /*!< Various flags. `PGPDIG_SAVED_*` are never reset. - * `PGPDIG_SIG_HAS_*` are reset for each signature. */ -#define PGPDIG_SAVED_TIME (1 << 0) -#define PGPDIG_SAVED_ID (1 << 1) -#define PGPDIG_SIG_HAS_CREATION_TIME (1 << 2) -#define PGPDIG_SIG_HAS_KEY_FLAGS (1 << 3) - - pgpDigAlg alg; -}; - /** \ingroup rpmio * Container for values parsed from an OpenPGP signature and public key. */ diff --git a/rpmio/rpmpgp_internal.h b/rpmio/rpmpgp_internal.h index 64b50de..67fecb0 100644 --- a/rpmio/rpmpgp_internal.h +++ b/rpmio/rpmpgp_internal.h @@ -10,6 +10,35 @@ typedef int (*verifyfunc)(pgpDigAlg pgpkey, pgpDigAlg pgpsig, uint8_t *hash, size_t hashlen, int hash_algo); typedef void (*freefunc)(pgpDigAlg digp); +/** \ingroup rpmio + * Values parsed from OpenPGP signature/pubkey packet(s). + */ +struct pgpDigParams_s { + char * userid; + uint8_t * hash; + const uint8_t * data; + uint8_t tag; + + uint8_t key_flags; /*!< key usage flags */ + uint8_t version; /*!< version number. */ + uint32_t time; /*!< key/signature creation time. */ + uint8_t pubkey_algo; /*!< public key algorithm. */ + + uint8_t hash_algo; + uint8_t sigtype; + uint32_t hashlen; + uint8_t signhash16[2]; + pgpKeyID_t signid; + uint8_t saved; /*!< Various flags. `PGPDIG_SAVED_*` are never reset. + * `PGPDIG_SIG_HAS_*` are reset for each signature. */ +#define PGPDIG_SAVED_TIME (1 << 0) +#define PGPDIG_SAVED_ID (1 << 1) +#define PGPDIG_SIG_HAS_CREATION_TIME (1 << 2) +#define PGPDIG_SIG_HAS_KEY_FLAGS (1 << 3) + + pgpDigAlg alg; +}; + struct pgpDigAlg_s { setmpifunc setmpi; verifyfunc verify; -- 2.33.0