An _installation point_ is a directory which will contain a certain class of files. An _installation mode_ is an indication of the permissions an installed file should have.
The install frame contains the default places where development occurs, and where code and documentation should be installed depending on the designation ascribed to the file in interscript sources.
Installation is controlled in several ways. The _kind_ of file is identified in the interscript source, this tells the language used for script, the kind of script, or whether the final target is an executable of dynamically loadable binary. (This information is generally gleaned from the tangler used, plus options if required).
The _stability_ of the version is also identifed as experimental, test, alpha, beta, or production in the interscript source. This information must be supplied by the vendor.
The _domain of applicability_ is identified in the interscript source, this tells if the code is univerally useful, platform specific, should be tailored per site, or tailored per user-group or user. This information must be supplied by the vendor.
1: #line 62 "frames.ipk" 2: class install_frame: 3: def __init__(self): 4: py = 'python'+self.python_version 5: self.platform_independent_install_point = sys.prefix 6: self.python_header_install_point = sys.prefix + '/include/'+py 7: self.python_module_install_point = sys.prefix + '/lib/'+py 8: self.python_platform_install_point = sys.prefix + '/lib/'+py+'/plat-'+platform.python_plat 9: 10: self.platform_dependent_install_point = sys.exec_prefix 11: self.python_config_install_point = sys.exec_prefix + '/lib/'+self.python_version+'/config' 12: self.python_dynload_install_point = sys.exec_prefix + '/lib/'+self.python_version+'/lib-dynload' 13: 14: # this is where stuff goes during development 15: d = self.development_point = {} 16: d['documentation']=self.platform.get_working_directory() 17: d['python module']=self.platform.get_working_directory() 18: d['python package']=self.platform.get_working_directory() 19: d['python cmodule']=self.platform.get_working_directory() 20: d['python script']=self.platform.get_working_directory() 21: d['executable']=self.platform.get_working_directory() 22: 23: # this is where standard stuff gets installed for general use 24: d = self.standard_install_point = {} 25: d['documentation']=sys.prefix+'/doc' 26: d['python module']=self.python_module_install_point 27: d['python package']=self.python_module_install_point 28: d['python cmodule']=self.python_dynload_install_point 29: d['python script']=sys.exec_prefix+'/bin' 30: d['executable']=sys.exec_prefix+'/bin' 31: 32: # this is where platform dependent stuff gets installed for general use 33: d = self.platform_install_point = {} 34: d['documentation']=sys.prefix+'/doc' 35: d['python module']=self.python_module_install_point 36: d['python package']=self.python_module_install_point 37: d['python cmodule']=self.python_dynload_install_point 38: d['python script']=sys.exec_prefix+'/bin' 39: d['executable']=sys.exec_prefix+'/bin' 40: 41: # this is where site dependent stuff gets installed for general use 42: d = self.site_install_point = {} 43: d['documentation']=sys.prefix+'/doc' 44: d['python module']=self.python_module_install_point+'/site-packages' 45: d['python package']=self.python_module_install_point+'/site-packages' 46: d['python cmodule']=self.python_dynload_install_point+'/site-packages' 47: d['python script']=sys.exec_prefix+'/bin' 48: d['executable']=sys.exec_prefix+'/bin' 49: 50: # this is where user-group dependent stuff gets installed for use 51: d = self.usergrp_install_point = {} 52: d['documentation']=sys.prefix+'/doc' 53: d['python module']=self.python_module_install_point+'/site-packages' 54: d['python package']=self.python_module_install_point+'/site-packages' 55: d['python cmodule']=self.python_dynload_install_point+'/site-packages' 56: d['python script']=sys.exec_prefix+'/bin' 57: d['executable']=sys.exec_prefix+'/bin' 58: 59: # this is where user dependent stuff gets installed for use 60: d = self.user_install_point = {} 61: d['documentation']=sys.prefix+'/doc' 62: d['python module']=self.python_module_install_point+'/site-packages' 63: d['python package']=self.python_module_install_point+'/site-packages' 64: d['python cmodule']=self.python_dynload_install_point+'/site-packages' 65: d['python script']=sys.exec_prefix+'/bin' 66: d['executable']=sys.exec_prefix+'/bin' 67: 68: self.install_point = { 69: 'dev': self.development_point, 70: 'std': self.standard_install_point, 71: 'plat': self.platform_install_point, 72: 'site': self.site_install_point, 73: 'grp': self.usergrp_install_point, 74: 'user': self.user_install_point 75: } 76: 77: self.trust_map = { 78: 'experimental':'dev', 79: 'test':'dev', 80: 'alpha':'dev', 81: 'beta':'user', 82: 'production':'user' 83: } 84: 85: def print_install(self): 86: print 'INSTALL POINTS' 87: print '----------------------------' 88: for k in self.install_point.keys(): 89: print 'Install Point',k 90: d = self.install_point[k] 91: for t in d.keys(): 92: print ' ',t,'-->',d[t] 93: print '----------------------------' 94: print 95: print 'TRUST MAP' 96: print '----------------------------' 97: for k in self.trust_map.keys(): 98: print ' ',k,'-->',self.trust_map[k] 99: print '----------------------------' 100: print 101: 102: