def update_ldso(ld_search_path, offset='/'): # we do an atomic rename instead of open and write quick # enough (avoid the race iow) fp = pjoin(offset, 'etc', 'ld.so.conf') new_f = AtomicWriteFile(fp, uid=os_data.root_uid, gid=os_data.root_uid, perms=0644) new_f.write("# automatically generated, edit env.d files instead\n") new_f.writelines(x.strip()+"\n" for x in ld_search_path) new_f.close()
def update_ldso(ld_search_path, offset='/'): # we do an atomic rename instead of open and write quick # enough (avoid the race iow) fp = pjoin(offset, 'etc', 'ld.so.conf') new_f = AtomicWriteFile( fp, uid=os_data.root_uid, gid=os_data.root_uid, perms=0o644) new_f.write("# automatically generated, edit env.d files instead\n") new_f.writelines(x.strip()+"\n" for x in ld_search_path) new_f.close()
def perform_env_update(root, skip_ldso_update=False): d, inc, colon = collapse_envd(pjoin(root, "etc/env.d")) l = d.pop("LDPATH", None) if l is not None and not skip_ldso_update: update_ldso(l, root) string_collapse_envd(d, inc, colon) new_f = AtomicWriteFile(pjoin(root, "etc", "profile.env"), uid=os_data.root_uid, gid=os_data.root_gid, perms=0644) new_f.write("# autogenerated. update env.d instead\n") new_f.writelines('export %s="%s"\n' % (k, d[k]) for k in sorted(d)) new_f.close() new_f = AtomicWriteFile(pjoin(root, "etc", "profile.csh"), uid=os_data.root_uid, gid=os_data.root_gid, perms=0644) new_f.write("# autogenerated, update env.d instead\n") new_f.writelines('setenv %s="%s"\n' % (k, d[k]) for k in sorted(d)) new_f.close()
def perform_env_update(root, skip_ldso_update=False): d, inc, colon = collapse_envd(pjoin(root, "etc/env.d")) l = d.pop("LDPATH", None) if l is not None and not skip_ldso_update: update_ldso(l, root) string_collapse_envd(d, inc, colon) new_f = AtomicWriteFile( pjoin(root, "etc", "profile.env"), uid=os_data.root_uid, gid=os_data.root_gid, perms=0o644) new_f.write("# autogenerated. update env.d instead\n") new_f.writelines(f'export {k}="{d[k]}"\n' for k in sorted(d)) new_f.close() new_f = AtomicWriteFile( pjoin(root, "etc", "profile.csh"), uid=os_data.root_uid, gid=os_data.root_gid, perms=0o644) new_f.write("# autogenerated, update env.d instead\n") new_f.writelines(f'setenv {k}="{d[k]}"\n' for k in sorted(d)) new_f.close()