You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitian-builder/bin/canon-zip

23 lines
550 B
Python

#!/usr/bin/python
from zipfile import ZipFile
import sys
"""Canonicalize a zip/jar file. Sets all the filestamps to a specific date.
canon-zip YYYY-MM-DD INPUT OUTPUT
"""
(year, month, day) = sys.argv[1].split('-')
year = int(year)
month = int(month)
day = int(day)
with ZipFile(sys.argv[3], 'w') as outzip:
with ZipFile(sys.argv[2], 'r') as inzip:
for info in inzip.infolist():
info.date_time = (year, month, day, 0, 0, 0)
content = inzip.read(info.filename)
outzip.writestr(info, content)