예제 #1
0
    def dar_build_archive(self, deps_dir):
        utils.makedirs(os.path.join(deps_dir, 'local'))
        dep_dir = os.path.join(deps_dir, 'local', self.name)
        extract_file = os.path.join(dep_dir, 'extract.sh')
        mount_dir = os.path.dirname(self.mount_point)

        if self.read_only:
            shutil.copytree(self.local_dir,
                            dep_dir,
                            ignore=self.ignore_patterns)
        else:
            os.makedirs(dep_dir)
        with open(extract_file, 'w') as f:
            if self.read_only:
                f.write('mkdir -p %s\n' % mount_dir)
                if self.delete_before_mount:
                    f.write('rm -rf  {mount}\n'.format(mount=self.mount_point))
                    f.write('mkdir -p %s\n' % self.mount_point)
                f.write('mv ./deps/local/{name}/* {mount}/\n'.format(
                    name=self.name, mount=self.mount_point))
            else:
                f.write('mkdir -p %s\n' % mount_dir)
            if self.pythonpath:
                f.write('export PYTHONPATH=$PYTHONPATH:{mount_dir}\n'.format(
                    mount_dir=mount_dir))
        os.chmod(extract_file, 0o777)
예제 #2
0
파일: mount.py 프로젝트: katerakelly/doodad
    def dar_build_archive(self, deps_dir):
        utils.makedirs(os.path.join(deps_dir, 'local'))
        dep_dir = os.path.join(deps_dir, 'local', self.name)
        extract_file = os.path.join(dep_dir, 'extract.sh')
        mount_point = os.path.dirname(self.mount_point)

        if self.read_only:
            shutil.copytree(self.local_dir, dep_dir, ignore=self.ignore_patterns)
            with open(extract_file, 'w') as f:
                f.write('mkdir -p %s\n' % mount_point)
                f.write('mv ./deps/local/{name} {mount}'.format(name=self.name, mount=self.mount_point))
        else:
            os.makedirs(dep_dir)
            with open(extract_file, 'w') as f:
                f.write('mkdir -p %s\n' % mount_point)
        os.chmod(extract_file, 0o777)