diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-23 13:18:56 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-23 13:18:56 +0200 |
commit | 603625b61c7b1aa073a4008a5b6ce812b56f8015 (patch) | |
tree | 0ad7326e0e774ad2ecc80b07e85cdf9eca5ccfc6 /builder_install.py | |
parent | 816752f51a5fad8200eefe17908903ccd11bd014 (diff) | |
download | meson-603625b61c7b1aa073a4008a5b6ce812b56f8015.zip meson-603625b61c7b1aa073a4008a5b6ce812b56f8015.tar.gz meson-603625b61c7b1aa073a4008a5b6ce812b56f8015.tar.bz2 |
Builder -> Meson renaming.
Diffstat (limited to 'builder_install.py')
-rwxr-xr-x | builder_install.py | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/builder_install.py b/builder_install.py deleted file mode 100755 index 28d70ec..0000000 --- a/builder_install.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/python3 -tt - -# Copyright 2013 Jussi Pakkanen - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import sys, pickle, os, shutil, subprocess, gzip - -class InstallData(): - def __init__(self, prefix, depfixer, dep_prefix): - self.prefix = prefix - self.targets = [] - self.depfixer = depfixer - self.dep_prefix = dep_prefix - self.headers = [] - self.man = [] - self.data = [] - -def do_install(datafilename): - ifile = open(datafilename, 'rb') - d = pickle.load(ifile) - destdir_var = 'DESTDIR' - if destdir_var in os.environ: - if d.prefix[0] == '/': - subdir = d.prefix[1:] - else: - subdir = d.prefix - d.prefix = os.path.join(os.environ[destdir_var], subdir) - install_targets(d) - install_headers(d) - install_man(d) - install_data(d) - -def install_data(d): - for i in d.data: - fullfilename = i[0] - outfilerel = i[1] - outdir = os.path.join(d.prefix, os.path.split(outfilerel)[0]) - outfilename = os.path.join(outdir, os.path.split(outfilerel)[1]) - os.makedirs(outdir, exist_ok=True) - print('Installing %s to %s.' % (fullfilename, outdir)) - shutil.copyfile(fullfilename, outfilename) - shutil.copystat(fullfilename, outfilename) - -def install_man(d): - for m in d.man: - outfileroot = m[1] - outfilename = os.path.join(d.prefix, outfileroot) - full_source_filename = m[0] - outdir = os.path.split(outfilename)[0] - os.makedirs(outdir, exist_ok=True) - print('Installing %s to %s.' % (full_source_filename, outdir)) - if outfilename.endswith('.gz') and not full_source_filename.endswith('.gz'): - open(outfilename, 'wb').write(gzip.compress(open(full_source_filename, 'rb').read())) - else: - shutil.copyfile(full_source_filename, outfilename) - shutil.copystat(full_source_filename, outfilename) - -def install_headers(d): - for t in d.headers: - fullfilename = t[0] - outdir = os.path.join(d.prefix, t[1]) - fname = os.path.split(fullfilename)[1] - outfilename = os.path.join(outdir, fname) - print('Installing %s to %s' % (fname, outdir)) - os.makedirs(outdir, exist_ok=True) - shutil.copyfile(fullfilename, outfilename) - shutil.copystat(fullfilename, outfilename) - -def install_targets(d): - for t in d.targets: - fname = t[0] - outdir = os.path.join(d.prefix, t[1]) - aliases = t[2] - outname = os.path.join(outdir, fname) - should_strip = t[3] - print('Installing %s to %s' % (fname, outname)) - os.makedirs(outdir, exist_ok=True) - shutil.copyfile(fname, outname) - shutil.copystat(fname, outname) - if should_strip: - print('Stripping target') - ps = subprocess.Popen(['strip', outname], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - (stdo, stde) = ps.communicate() - if ps.returncode != 0: - print('Could not strip file.\n') - print('Stdout:\n%s\n' % stdo.decode()) - print('Stderr:\n%s\n' % stde.decode()) - sys.exit(1) - for alias in aliases: - os.symlink(fname, os.path.join(outdir, alias)) - 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: - print('Installer script for Builder. Do not run on your own, mmm\'kay?') - print('%s [install info file]' % sys.argv[0]) - datafilename = sys.argv[1] - do_install(datafilename) - |