Hi,
The size of the payload written to the Size header is incorrect. It should be the length of the compressed payload, not the sun of the sizes of the uncompressed payload files.
This makes the rpm2cpio program exit with a failure, as it does a comparison between the header value and that returned by librpm's ufdCopy() function.