#!/usr/bin/env python3 | |
# | |
# Wrapper around 'ar' that defaults to deterministic archives | |
import os | |
import shutil | |
import sys | |
# calculate path to the real 'ar' | |
path = os.environ['PATH'] | |
path = path.replace(os.path.dirname(sys.argv[0]), '') | |
real_ar = shutil.which('ar', path=path) | |
if len(sys.argv) == 1: | |
os.execl(real_ar, 'ar') | |
# modify args to mimic 'ar' configured with --default-deterministic-archives | |
argv = sys.argv | |
if argv[1].startswith('--'): | |
# No modifier given | |
None | |
else: | |
# remove the optional '-' | |
if argv[1][0] == '-': | |
argv[1] = argv[1][1:] | |
if 'U' in argv[1]: | |
sys.stderr.write("ar: non-deterministic mode requested\n") | |
else: | |
argv[1] = argv[1].replace('u', '') | |
argv[1] = 'D' + argv[1] | |
os.execv(real_ar, argv) |