contrib/fixpax.py
branchstable
changeset 38739 7acec9408e1c
parent 38615 443029011990
parent 38738 faea9b1980d9
child 38740 c08ea1e219c0
--- a/contrib/fixpax.py	Sun Jul 01 23:36:53 2018 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-# fixpax - fix ownership in bdist_mpkg output
-#
-# Copyright 2015 Matt Mackall <mpm@selenic.com>
-#
-# This software may be used and distributed according to the terms of the
-# MIT license (http://opensource.org/licenses/MIT)
-
-"""Set file ownership to 0 in an Archive.pax.gz.
-Suitable for fixing files bdist_mpkg output:
-*.mpkg/Contents/Packages/*.pkg/Contents/Archive.pax.gz
-"""
-
-from __future__ import absolute_import, print_function
-import gzip
-import os
-import sys
-
-def fixpax(iname, oname):
-    i = gzip.GzipFile(iname)
-    o = gzip.GzipFile(oname, "w")
-
-    while True:
-        magic = i.read(6)
-        dev = i.read(6)
-        ino = i.read(6)
-        mode = i.read(6)
-        i.read(6) # uid
-        i.read(6) # gid
-        nlink = i.read(6)
-        rdev = i.read(6)
-        mtime = i.read(11)
-        namesize = i.read(6)
-        filesize = i.read(11)
-        name = i.read(int(namesize, 8))
-        data = i.read(int(filesize, 8))
-
-        o.write(magic)
-        o.write(dev)
-        o.write(ino)
-        o.write(mode)
-        o.write("000000")
-        o.write("000000")
-        o.write(nlink)
-        o.write(rdev)
-        o.write(mtime)
-        o.write(namesize)
-        o.write(filesize)
-        o.write(name)
-        o.write(data)
-
-        if name.startswith("TRAILER!!!"):
-            o.write(i.read())
-            break
-
-    o.close()
-    i.close()
-
-if __name__ == '__main__':
-    for iname in sys.argv[1:]:
-        print('fixing file ownership in %s' % iname)
-        oname = sys.argv[1] + '.tmp'
-        fixpax(iname, oname)
-        os.rename(oname, iname)