29 lines
966 B
Diff
29 lines
966 B
Diff
|
--- ./build/pack.c.orig 2014-10-06 13:05:52.801204141 +0000
|
||
|
+++ ./build/pack.c 2014-10-06 13:06:19.815077722 +0000
|
||
|
@@ -290,6 +290,8 @@ static rpmRC generateSignature(char *SHA
|
||
|
rpmRC rc = RPMRC_OK;
|
||
|
char *reservedSpace;
|
||
|
int spaceSize = 0;
|
||
|
+ uint32_t size32 = (uint32_t)size;
|
||
|
+ uint32_t payloadSize32 = (uint32_t)payloadSize;
|
||
|
|
||
|
/* Prepare signature */
|
||
|
sig = rpmNewSignature();
|
||
|
@@ -322,14 +324,14 @@ static rpmRC generateSignature(char *SHA
|
||
|
td.tag = payloadtag;
|
||
|
td.count = 1;
|
||
|
td.type = typetag;
|
||
|
- td.data = &payloadSize;
|
||
|
+ td.data = typetag == RPM_INT32_TYPE ? &payloadSize32 : &payloadSize;
|
||
|
headerPut(sig, &td, HEADERPUT_DEFAULT);
|
||
|
|
||
|
rpmtdReset(&td);
|
||
|
td.tag = sizetag;
|
||
|
td.count = 1;
|
||
|
td.type = typetag;
|
||
|
- td.data = &size;
|
||
|
+ td.data = typetag == RPM_INT32_TYPE ? &size32 : &size;
|
||
|
headerPut(sig, &td, HEADERPUT_DEFAULT);
|
||
|
|
||
|
spaceSize = rpmExpandNumeric("%{__gpg_reserved_space}");
|