Lines 7-12
Link Here
|
7 |
|
7 |
|
8 |
def tar_contents(contents, root, tar, protect=None, onProgress=None): |
8 |
def tar_contents(contents, root, tar, protect=None, onProgress=None): |
9 |
from portage_util import normalize_path |
9 |
from portage_util import normalize_path |
|
|
10 |
import tarfile |
10 |
root = normalize_path(root).rstrip(os.path.sep) + os.path.sep |
11 |
root = normalize_path(root).rstrip(os.path.sep) + os.path.sep |
11 |
id_strings = {} |
12 |
id_strings = {} |
12 |
maxval = len(contents) |
13 |
maxval = len(contents) |
Lines 46-51
Link Here
|
46 |
tarinfo.gname = id_strings.setdefault(tarinfo.gid, str(tarinfo.gid)) |
47 |
tarinfo.gname = id_strings.setdefault(tarinfo.gid, str(tarinfo.gid)) |
47 |
|
48 |
|
48 |
if stat.S_ISREG(lst.st_mode): |
49 |
if stat.S_ISREG(lst.st_mode): |
|
|
50 |
# break hardlinks due to bug #185305 |
51 |
tarinfo.type = tarfile.REGTYPE |
49 |
if protect and protect(path): |
52 |
if protect and protect(path): |
50 |
# Create an empty file as a place holder in order to avoid |
53 |
# Create an empty file as a place holder in order to avoid |
51 |
# potential collision-protect issues. |
54 |
# potential collision-protect issues. |