コード例 #1
0
ファイル: main_package.py プロジェクト: nvdnkpr/conda
def execute(args, parser):
    import sys
    from os.path import basename

    from conda.misc import untracked
    from conda.builder.packup import make_tarbz2, remove


    prefix = common.get_prefix(args)

    if args.check:
        from conda.builder.tarcheck import check_all

        for path in args.path:
            try:
                check_all(path)
                print('%s OK' % basename(path))
            except Exception as e:
                print(e)
                print('%s FAILED' % basename(path))
        return

    if args.which:
        from conda.builder.packup import which_package

        for path in args.path:
            for dist in  which_package(path):
                print('%-50s  %s' % (path, dist))
        return

    if args.path:
        sys.exit("Error: no positional arguments expected.")

    print('# prefix:', prefix)

    if args.reset:
        remove(prefix, untracked(prefix))
        return

    if args.untracked:
        files = sorted(untracked(prefix))
        print('# untracked files: %d' % len(files))
        for fn in files:
            print(fn)
        return

    if args.share:
        from conda.builder.share import create_bundle

        path, warnings = create_bundle(prefix)
        for w in warnings:
            print("Warning:", w)
        print(path)
        return

    make_tarbz2(prefix,
                name = args.pkg_name,
                version = args.pkg_version,
                build_number = int(args.pkg_build))
コード例 #2
0
ファイル: build.py プロジェクト: Studiogit/conda
def build(m, get_src=True, pypi=False):
    rm_rf(prefix)
    create_env(prefix, [ms.spec for ms in m.ms_depends('build')], pypi)

    print("BUILD START:", m.dist())

    if get_src:
        source.provide(m.path, m.get_section('source'))
    assert isdir(source.WORK_DIR)
    if os.listdir(source.get_dir()):
        print("source tree in:", source.get_dir())
    else:
        print("no source")

    rm_rf(info_dir)
    files1 = prefix_files()

    if sys.platform == 'win32':
        import conda.builder.windows as windows
        windows.build(m)
    else:
        build_sh = join(m.path, 'build.sh')
        if exists(build_sh):
            env = environ.get_dict(m)
            cmd = ['/bin/bash', '-x', '-e', build_sh]
            _check_call(cmd, env=env, cwd=source.get_dir())
        else:
            print("no build.sh file")

    create_entry_points(m.get_value('build/entry_points'))
    post_process(preserve_egg_dir=bool(
            m.get_value('build/preserve_egg_dir')))

    assert not exists(info_dir)
    files2 = prefix_files()

    post_build(sorted(files2 - files1))
    create_info_files(m, sorted(files2 - files1))
    files3 = prefix_files()
    fix_permissions(files3 - files1)

    path = bldpkg_path(m)
    t = tarfile.open(path, 'w:bz2')
    for f in sorted(files3 - files1):
        t.add(join(prefix, f), f)
    t.close()

    print("BUILD END:", m.dist())

    # we're done building, perform some checks
    tarcheck.check_all(path)
    update_index(bldpkgs_dir)
コード例 #3
0
ファイル: build.py プロジェクト: dmj111/conda
def build(m, get_src=True):
    rm_rf(prefix)
    create_env(prefix, [ms.spec for ms in m.ms_depends('build')])

    print("BUILD START:", m.dist())

    if get_src:
        source.provide(m.path, m.get_section('source'))
    assert isdir(source.WORK_DIR)
    if os.listdir(source.get_dir()):
        print("source tree in:", source.get_dir())
    else:
        print("no source")

    rm_rf(info_dir)
    files1 = prefix_files()

    if sys.platform == 'win32':
        import conda.builder.windows as windows
        windows.build(m.path)
    else:
        env = environ.get_dict()
        env['RECIPE_DIR'] = m.path
        cmd = ['/bin/bash', '-x', '-e', join(m.path, 'build.sh')]
        _check_call(cmd, env=env, cwd=source.get_dir())

    create_entry_points(m.get_value('build/entry_points'))
    post_process()

    assert not exists(info_dir)
    files2 = prefix_files()

    sorted_files = sorted(files2 - files1)
    post_build(sorted_files)
    create_info_files(m, sorted_files)
    files3 = prefix_files()
    fix_permissions()

    path = bldpkg_path(m)
    t = tarfile.open(path, 'w:bz2')
    for f in sorted(files3 - files1):
        t.add(join(prefix, f), f)
    t.close()

    print("BUILD END:", m.dist())

    # we're done building, perform some checks
    tarcheck.check_all(path)
    update_index(bldpkgs_dir)
    # remove from packages, because we're going to test it
    rm_pkgs_cache(m.dist())
    test(m)
コード例 #4
0
ファイル: build.py プロジェクト: Studiogit/conda
def build(m, get_src=True, pypi=False):
    rm_rf(prefix)
    create_env(prefix, [ms.spec for ms in m.ms_depends('build')], pypi)

    print("BUILD START:", m.dist())

    if get_src:
        source.provide(m.path, m.get_section('source'))
    assert isdir(source.WORK_DIR)
    if os.listdir(source.get_dir()):
        print("source tree in:", source.get_dir())
    else:
        print("no source")

    rm_rf(info_dir)
    files1 = prefix_files()

    if sys.platform == 'win32':
        import conda.builder.windows as windows
        windows.build(m)
    else:
        build_sh = join(m.path, 'build.sh')
        if exists(build_sh):
            env = environ.get_dict(m)
            cmd = ['/bin/bash', '-x', '-e', build_sh]
            _check_call(cmd, env=env, cwd=source.get_dir())
        else:
            print("no build.sh file")

    create_entry_points(m.get_value('build/entry_points'))
    post_process(preserve_egg_dir=bool(m.get_value('build/preserve_egg_dir')))

    assert not exists(info_dir)
    files2 = prefix_files()

    post_build(sorted(files2 - files1))
    create_info_files(m, sorted(files2 - files1))
    files3 = prefix_files()
    fix_permissions(files3 - files1)

    path = bldpkg_path(m)
    t = tarfile.open(path, 'w:bz2')
    for f in sorted(files3 - files1):
        t.add(join(prefix, f), f)
    t.close()

    print("BUILD END:", m.dist())

    # we're done building, perform some checks
    tarcheck.check_all(path)
    update_index(bldpkgs_dir)
コード例 #5
0
ファイル: main_package.py プロジェクト: rhs2132/conda
def execute(args, parser):
    from os.path import basename

    from conda.builder.packup import make_tarbz2, untracked, remove


    prefix = common.get_prefix(args)

    if args.check:
        from conda.builder.tarcheck import check_all

        try:
            check_all(args.check)
            print '%s OK' % basename(args.check)
        except Exception as e:
            print e
            print '%s FAILED' % basename(args.check)
        return

    print '# prefix:', prefix

    if args.reset:
        remove(prefix, untracked(prefix))
        return

    if args.untracked:
        files = sorted(untracked(prefix))
        print '# untracked files: %d' % len(files)
        for fn in files:
            print fn
        return

    make_tarbz2(prefix,
                name = args.pkg_name,
                version = args.pkg_version,
                build_number = int(args.pkg_build))