soong_zip: set local header crc and size for symlinks
Getting a crc and size into the local header requires setting it before writing the payload, or using a streaming data header after the payload with the crc and size. Stored (uncompressed) entries are not allowed to use a streaming data header. Symlinks are always stored uncompressed, so set the crc and size in the file header before writing the payload. Also set the mode to 0777 to match the behavior of zip. This relands I66c5d41f0a5b23b828d6a03a3790afedc5a97625 with fixes for the size and mode. Test: m checkbuild Test: zipdetails on zip with symlink created with soong_zip has same crc in local header and central header. Test: Compare zipdetails output of zip containing symlink created by soong_zip and by zip --symlinks -X. Bug: 110716403 Change-Id: Iec0bc9056a0d9cdab76f015844aca9c711e72e5b
Loading
Please register or sign in to comment