aboutsummaryrefslogtreecommitdiff
path: root/builder_install.py
diff options
context:
space:
mode:
Diffstat (limited to 'builder_install.py')
-rwxr-xr-xbuilder_install.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/builder_install.py b/builder_install.py
index 4f2a295..354ef49 100755
--- a/builder_install.py
+++ b/builder_install.py
@@ -14,11 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import sys, pickle, os, shutil
+import sys, pickle, os, shutil, subprocess
class InstallData():
- def __init__(self):
+ def __init__(self, depfixer, dep_prefix):
self.targets = []
+ self.depfixer = depfixer
+ self.dep_prefix = dep_prefix
def do_install(datafilename):
ifile = open(datafilename, 'rb')
@@ -28,9 +30,18 @@ def do_install(datafilename):
outdir = t[1]
fname = os.path.split(fullfilename)[1]
outname = os.path.join(outdir, fname)
- print('Copying %s to %s' % (fname, outdir))
+ print('Installing %s to %s' % (fname, outdir))
os.makedirs(outdir, exist_ok=True)
shutil.copyfile(fullfilename, outname)
+ shutil.copystat(fullfilename, outname)
+ p = subprocess.Popen([d.depfixer, outname, d.dep_prefix], stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ (stdo, stde) = p.communicate()
+ if p.returncode != 0:
+ print('Could not fix dependency info.\n')
+ print('Stdout:\n%s\n' % stdo.decode())
+ print('Stderr:\n%s\n' % stde.decode())
+ sys.exit(1)
if __name__ == '__main__':
if len(sys.argv) != 2: