what's the 'chash' in ips manifest?

chash: the sha1 hash of the compressed file.

While if you manually compress the file with gzip -n -9, you would find the sha1 value is still different with the one in the manifest file. By looking into ips/pkg's source code, it turns out that the head used in ips/pkg is a little different with the one gzip(1) generated,

-0000000 1f 8b 08 00 00 00 00 00 02 ff
+0000000 1f 8b 08 00 00 00 00 00 02 03

The last byte is to indicate the OS type, '03' stands for 'Unix', 'ff' means 'Unknown', refer to RFC1952. After you change the OS type to 'ff' in your manually compressed file, you would see the sha hash values are just the same.