Exemplo n.º 1
0
def handleOneIndex(indexpath, subdir, indexname, fast):
    print(indexpath, subdir, indexname)

    indexstatuspath = indexpath + config.getStatusPostfix()
    indexstatus = utils.load_status(indexstatuspath)
    if not utils.check_epoch(indexstatus, 'Prepare'):
        raise utils.EpochError('Please prepare first.\n')
    if utils.check_epoch(indexstatus, 'Populate'):
        return

    workdir = config.getWordRecognizerDir() + os.sep + \
        subdir + os.sep + indexname
    print(workdir)

    shmdir = config.getInMemoryFileSystem()

    for i in range(1, N + 1):
        if fast:
            #copy file
            filename = config.getNgramFileName(i)
            filepath = workdir + os.sep + filename
            shmfilepath = shmdir + os.sep + filename
            utils.copyfile(filepath, shmfilepath)
            handleOnePass(indexpath, shmdir, i)
            pruneNgramTable(indexpath, shmdir, i)
            utils.copyfile(shmfilepath, filepath)
            os.unlink(shmfilepath)
        else:
            handleOnePass(indexpath, workdir, i)
            pruneNgramTable(indexpath, workdir, i)

    #sign epoch
    utils.sign_epoch(indexstatus, 'Populate')
    utils.store_status(indexstatuspath, indexstatus)
Exemplo n.º 2
0
def handleOneIndex(indexpath, subdir, indexname, fast):
    print(indexpath, subdir, indexname)

    indexstatuspath = indexpath + config.getStatusPostfix()
    indexstatus = utils.load_status(indexstatuspath)
    if not utils.check_epoch(indexstatus, 'Prepare'):
        raise utils.EpochError('Please prepare first.\n')
    if utils.check_epoch(indexstatus, 'Populate'):
        return

    workdir = config.getWordRecognizerDir() + os.sep + \
        subdir + os.sep + indexname
    print(workdir)

    shmdir = config.getInMemoryFileSystem()

    for i in range(1, N + 1):
        if fast:
            #copy file
            filename = config.getNgramFileName(i)
            filepath = workdir + os.sep + filename
            shmfilepath = shmdir + os.sep + filename
            utils.copyfile(filepath, shmfilepath)
            handleOnePass(indexpath, shmdir, i)
            pruneNgramTable(indexpath, shmdir, i)
            utils.copyfile(shmfilepath, filepath)
            os.unlink(shmfilepath)
        else:
            handleOnePass(indexpath, workdir, i)
            pruneNgramTable(indexpath, workdir, i)

    #sign epoch
    utils.sign_epoch(indexstatus, 'Populate')
    utils.store_status(indexstatuspath, indexstatus)
Exemplo n.º 3
0
def copy_common(dst_root, params={}):
    if params.get('required'):
        copyfile(params['src_path'], os.path.join(dst_root,
                                                  params['dst_path']))
        return
    for key in params:
        if not isinstance(params[key], dict):
            continue
        copy_common(dst_root, params[key])
Exemplo n.º 4
0
 def prepare_packages_posix(self, vars):
     if sys.platform.startswith('linux'):
         # patchelf -> Shiboken/patchelf
         copyfile(
             "{script_dir}/patchelf",
             "{dist_dir}/Shiboken/patchelf",
             vars=vars)
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     makefile(
         "{dist_dir}/Shiboken/__init__.py",
         content="__all__ = ['shiboken']",
         vars=vars)
     # <build>/shiboken/doc/html/* -> <setup>/Shiboken/docs/shiboken
     copydir(
         "{build_dir}/shiboken/doc/html",
         "{dist_dir}/Shiboken/docs/shiboken",
         force=False, vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/Shiboken/shiboken.so
     copyfile(
         "{site_packages_dir}/shiboken.so",
         "{dist_dir}/Shiboken/shiboken.so",
         vars=vars)
     # <install>/bin/* -> Shiboken/
     copydir(
         "{install_dir}/bin/",
         "{dist_dir}/Shiboken",
         filter=[
             "shiboken",
         ],
         recursive=False, vars=vars)
     # <install>/lib/lib* -> Shiboken/
     copydir(
         "{install_dir}/lib/",
         "{dist_dir}/Shiboken",
         filter=[
             "libshiboken*" + so_star,
         ],
         recursive=False, vars=vars)
     # <install>/include/* -> <setup>/Shiboken/include
     copydir(
         "{install_dir}/include",
         "{dist_dir}/Shiboken/include",
         vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/lib/* -> <setup>/Shiboken
         copydir("{qt_lib_dir}", "{dist_dir}/Shiboken",
             filter=[
                 "libQtCore*.so.?", "libQtXml*.so.?",
             ],
             recursive=False, vars=vars)
def copy_derivative_cmtfile(cmtfile_prefix, destdir):
    if not os.path.exists(destdir):
        os.makedirs(destdir)
    exts = ("", "_Mrr", "_Mtt", "_Mpp", "_Mrt", "_Mrp", "_Mtp",
            "_dep", "_lat", "_lon")
    for _ext in exts:
        cmtfile = cmtfile_prefix + _ext
        destcmt = os.path.join(destdir, os.path.basename(cmtfile))
        copyfile(cmtfile, destcmt)
Exemplo n.º 6
0
def copy_calibration_script(circuitpython_drive):
    print(f"Copying calibration script to {circuitpython_drive}")
    if not os.path.exists(os.path.join(circuitpython_drive, "code-bak.py")):
        utils.copyfile(
            os.path.join(circuitpython_drive, "code.py"),
            os.path.join(circuitpython_drive, "code-bak.py"))
    utils.copyfile(
        os.path.join(os.path.dirname(__file__), "calibration_cpy_code.py"),
        os.path.join(circuitpython_drive, "code.py"))
def copy_derivative_cmtfile(cmtfile_prefix, destdir):
    if not os.path.exists(destdir):
        os.makedirs(destdir)
    exts = ("", "_Mrr", "_Mtt", "_Mpp", "_Mrt", "_Mrp", "_Mtp", "_dep", "_lat",
            "_lon")
    for _ext in exts:
        cmtfile = cmtfile_prefix + _ext
        destcmt = os.path.join(destdir, os.path.basename(cmtfile))
        copyfile(cmtfile, destcmt)
Exemplo n.º 8
0
    def copyoutInMemoryFile(modelfile):
        inmemoryfile = os.path.join\
            (config.getInMemoryFileSystem(), inMemoryFile)
        inmemoryreportfile = inmemoryfile + config.getReportPostfix()
        reportfile = modelfile + config.getReportPostfix()

        if os.access(inmemoryfile, os.F_OK):
            utils.copyfile(inmemoryfile, modelfile)
        if os.access(inmemoryreportfile, os.F_OK):
            utils.copyfile(inmemoryreportfile, reportfile)
Exemplo n.º 9
0
    def main(self):
        rkpihdr = {
            'sampleformat':
            self._SAMPLEFORMATS.index(self.args.pcm_sampleformat) + 1,
            'compression':
            self._COMPRESSORS.index(self.args.rkpi_compression),
            'bytedepth':
            self.args.pcm_bytedepth,
            'samplerate':
            self.args.pcm_samplerate,
            'channellayout':
            self.args.pcm_channellayout,
            'endianness':
            int(self.args.pcm_endianness),
            'channels':
            self.args.pcm_channels
        }

        # override bytedepth if the sampleformat forces so.
        if self.args.pcm_sampleformat in ('adpcm', 'a-law', 'mu-law'):
            rkpihdr['bytedepth'] = 1

        # write out the header to file, doesn’t care about the
        # raw data in the file as there’s no size info.
        self.args.file_out.write(self._encode_rkpi_hdr(rkpihdr))

        if self.args.rkpi_compression == 'none':
            if copyfile(self.args.file_in, self.args.file_out) == 0:
                stderr.write("Can’t do IO.")
        else:
            _COMPDS = partial(maprange, self.args.rkpi_compression_density,
                              100j)
            data_copied = 0  # how many bytes were copied compression.

            # Zstandard compressor.
            if rkpihdr['compression'] == 0b01:
                data_copied = copyfilemap(
                    self.args.file_in, self.args.file_out,
                    zstandard.ZstdCompressor(level=_COMPDS(1 + 22j)).compress)

            # Brotli compressor.
            if rkpihdr['compression'] == 0b10:
                comp = brotli.Compressor(quality=_COMPDS(11j), lgwin=24)

                data_copied = copyfilemap(self.args.file_in,
                                          self.args.file_out, comp.compress)
                data_copied += self.args.file_out.write(comp.finish())

            # LZMA compressor.
            elif rkpihdr['compression'] == 0b11:
                data_copied = copyfile(self.args.file_in,
                                       lzma.LZMAFile(self.args.file_out, 'w'))

            if data_copied == 0:
                stderr.write("Compressor failed or can’t do IO.")
Exemplo n.º 10
0
    def main(self):
        rkpihdr = self._decode_rkpi_header(self.args.file_in.read(10))
        if rkpihdr is None:
            print("Reekpie header not found or incomplete.")
            exit()

        # dump information to the TTY for describing the
        # aspects of the PCM data (as this is required
        # for parsing). NOTE: Put that into STDERR to avoid
        # it being piped with a program or a file by default.
        stderr.write((
             "Sampleformat:  {sample_format}\n"
             "Compression:   {compression}\n"
            f"Bytedepth:     {rkpihdr['bytedepth']}\n"
            f"Samplerate:    {rkpihdr['samplerate']}\n"
             "Channellayout: {channel_layout}\n"
             "Endianness:    {endianness}\n"
            f"Channels:      {rkpihdr['channels']}\n").format_map({
                'channel_layout': ('interleaved', 'planar') \
                                [rkpihdr['channellayout']],
                'endianness':     ('little', 'big') \
                                [rkpihdr['endianness']],
                'sample_format':  ('unknown', 'unsigned', 'signed', 'float', 'adpcm', 'mu-law', 'a-law') \
                                [rkpihdr['sampleformat']],
                'compression':    ('none', 'zstd', 'brotli', 'lzma') \
                                [rkpihdr['compression']]
            }))

        if self.args.do_decompress or rkpihdr['compression'] == 0b00:
            if copyfile(self.args.file_in, self.args.file_out) == 0:
                stderr.write("Can’t do IO.")
        else:
            data_copied = 0  # how many bytes were copied during decompression.

            # Zstandard decompressor.
            if rkpihdr['compression'] == 0b01:
                data_copied = copyfile(
                    zstandard.ZstdDecompressor().stream_reader(
                        self.args.file_in), self.args.file_out)

            # Brotli decompressor.
            elif rkpihdr['compression'] == 0b10:
                data_copied = copyfilemap(self.args.file_in,
                                          self.args.file_out,
                                          brotli.Decompressor().decompress)

            # LZMA decompressor.
            elif rkpihdr['compression'] == 0b11:
                data_copied = copyfile(lzma.LZMAFile(self.args.file_in),
                                       self.args.file_out)

            if data_copied == 0:
                stderr.write("Decompressor failed or can’t do IO.")
def copy_cmtfiles(_event, cmtfolder, targetcmtdir, generate_deriv_cmt,
                  deriv_cmt_list):
    origincmt = os.path.join(cmtfolder, _event)
    targetcmt = os.path.join(targetcmtdir, _event)
    copyfile(origincmt, targetcmt, verbose=False)
    if not generate_deriv_cmt:
        # copy deriv cmt files
        for deriv_type in deriv_cmt_list:
            derivcmt = os.path.join(cmtfolder, "%s_%s" % (_event, deriv_type))
            targetcmt = os.path.join(targetcmtdir,
                                     "%s_%s" % (_event, deriv_type))
            copyfile(derivcmt, targetcmt, verbose=False)
    else:
        # copy scripts to generate deriv cmt files
        copytree("job_running_template/perturb_cmt",
                 os.path.dirname(targetcmtdir))
def copy_cmtfiles(_event, cmtfolder, targetcmtdir, generate_deriv_cmt,
                  deriv_cmt_list):
    origincmt = os.path.join(cmtfolder, _event)
    targetcmt = os.path.join(targetcmtdir, _event)
    copyfile(origincmt, targetcmt, verbose=False)
    if not generate_deriv_cmt:
        # copy deriv cmt files
        for deriv_type in deriv_cmt_list:
            derivcmt = os.path.join(cmtfolder, "%s_%s" % (_event, deriv_type))
            targetcmt = os.path.join(targetcmtdir, "%s_%s"
                                     % (_event, deriv_type))
            copyfile(derivcmt, targetcmt, verbose=False)
    else:
        # copy scripts to generate deriv cmt files
        copytree("job_running_template/perturb_cmt",
                 os.path.dirname(targetcmtdir))
def create_job_folder(template_folder, tag, eventlist_dict, cmtfolder,
                      stafolder, generate_deriv_cmt, deriv_cmt_list):

    targetdir_list = []
    print("*" * 20 + "\nCreat job sub folder")
    for _i in range(len(eventlist_dict)):
        idx = _i + 1
        targetdir = "job_" + tag + "_%02d" % idx
        targetdir_list.append(targetdir)

    check_job_folder_exist(targetdir_list)

    for _i, targetdir in enumerate(targetdir_list):
        idx = _i + 1
        print("=" * 5 + "\nJob id: %d" % idx)
        # copy eventlist file
        eventlist_file = eventlist_dict[idx]
        targetfile = os.path.join(targetdir, "XEVENTID")
        copyfile(eventlist_file, targetfile)

        # copy original cmt file and station file
        targetcmtdir = os.path.join(targetdir, "cmtfile")
        targetstadir = os.path.join(targetdir, "station")
        print("copy cmt:[%s --> %s]" % (cmtfolder, targetcmtdir))
        print("copy stattion:[%s --> %s]" % (stafolder, targetstadir))
        events = read_txt_into_list(eventlist_file)
        for _event in events:
            copy_cmtfiles(_event, cmtfolder, targetcmtdir, generate_deriv_cmt,
                          deriv_cmt_list)
            copy_stations(_event, stafolder, targetstadir)

        print("Copy dir:[%s --> %s]" % (template_folder, targetdir))
        # copy scripts template
        copytree(template_folder, targetdir)

        # copy config.yaml file
        copyfile("config.yml", os.path.join(targetdir, "config.yml"))
def create_job_folder(template_folder, tag, eventlist_dict, cmtfolder,
                      stafolder, generate_deriv_cmt, deriv_cmt_list):

    targetdir_list = []
    print("*"*20 + "\nCreat job sub folder")
    for _i in range(len(eventlist_dict)):
        idx = _i + 1
        targetdir = "job_" + tag + "_%02d" % idx
        targetdir_list.append(targetdir)

    check_job_folder_exist(targetdir_list)

    for _i, targetdir in enumerate(targetdir_list):
        idx = _i + 1
        print("="*5 + "\nJob id: %d" % idx)
        # copy eventlist file
        eventlist_file = eventlist_dict[idx]
        targetfile = os.path.join(targetdir, "XEVENTID")
        copyfile(eventlist_file, targetfile)

        # copy original cmt file and station file
        targetcmtdir = os.path.join(targetdir, "cmtfile")
        targetstadir = os.path.join(targetdir, "station")
        print("copy cmt:[%s --> %s]" % (cmtfolder, targetcmtdir))
        print("copy stattion:[%s --> %s]" % (stafolder, targetstadir))
        events = read_txt_into_list(eventlist_file)
        for _event in events:
            copy_cmtfiles(_event, cmtfolder, targetcmtdir, generate_deriv_cmt,
                          deriv_cmt_list)
            copy_stations(_event, stafolder, targetstadir)

        print("Copy dir:[%s --> %s]" % (template_folder, targetdir))
        # copy scripts template
        copytree(template_folder, targetdir)

        # copy config.yaml file
        copyfile("config.yml", os.path.join(targetdir, "config.yml"))
Exemplo n.º 15
0
def gfs_to_cache(source_folder: Union[Path, str],
                 func_filter: Callable[[Path], bool] = None) -> Path:
    """将指定目录中的指定文件夹下的gfs文件复制到缓存  返回目标文件夹Path对象"""
    files = list(Path(source_folder).glob('gfs.*'))
    if func_filter is not None:
        files = [x for x in files if func_filter(x)]

    dest_folder = config.CACHE_PATH / 'fragments' / 'source'
    if not dest_folder.exists():
        dest_folder.mkdir(parents=True)

    meta_file = dest_folder / 'meta.json'
    if meta_file.exists():
        with open(meta_file) as f:
            meta = json.load(f)
            source_changed = (meta['source'] != str(source_folder))
    else:
        source_changed = True

    dest_remain = list(dest_folder.glob('gfs.*'))
    if source_changed:
        logger.info('数据源变化 清除残留数据...')
        for remain in dest_remain:
            os.remove(remain)

    for i, source in enumerate(files):
        dest_name = dest_folder / source.name
        if dest_name.exists():
            continue
        logger.info(f'文件复制中... {i + 1}/{len(files)}')
        logger.debug(f'复制文件 {str(source)}')
        utils.copyfile(source, dest_name)
    with open(meta_file, 'w') as f:
        json.dump({'source': str(source_folder)}, f)
    logger.info('文件复制完成')
    return dest_folder
Exemplo n.º 16
0
    def prepare_packages_win32(self, vars):
        makefile(
            "{dist_dir}/Shiboken/__init__.py",
            content="__all__ = ['shiboken']",
            vars=vars)
        pdbs = ['*.pdb'] if self.debug or self.build_type == 'RelWithDebInfo' else []       
        # <build>/shiboken/doc/html/* -> <setup>/Shiboken/docs/shiboken
        copydir(
            "{build_dir}/shiboken/doc/html",
            "{dist_dir}/Shiboken/docs/shiboken",
            force=False, vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/Shiboken/shiboken.pyd
        copyfile(
            "{site_packages_dir}/shiboken{dbgPostfix}.pyd",
            "{dist_dir}/Shiboken/shiboken{dbgPostfix}.pyd",
            vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/Shiboken/shiboken{dbgPostfix}.pdb",
                vars=vars)        
        # <install>/bin/*.exe,*.dll,*.pdb -> Shiboken/
        copydir(
            "{install_dir}/bin/",
            "{dist_dir}/Shiboken",
            filter=["*.exe", "*.dll"] + pdbs,
            recursive=False, vars=vars)
        # <install>/lib/*.lib -> Shiboken/
        copydir(
            "{install_dir}/lib/",
            "{dist_dir}/Shiboken",
            filter=["*.lib"],
            recursive=False, vars=vars)
        # <install>/include/* -> <setup>/Shiboken/include
        copydir(
            "{install_dir}/include",
            "{dist_dir}/Shiboken/include",
            vars=vars)
        
        # <qt>/bin/*.dll -> <setup>/Shiboken
        copydir("{qt_bin_dir}", "{dist_dir}/Shiboken",
            filter=[
                "QtCore4.dll",
                "QtXml4.dll"],
            recursive=False, vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/Shiboken
            copydir("{qt_bin_dir}", "{dist_dir}/Shiboken",
                filter=["QtCored4.dll", "QtXmld4.dll"] + pdbs,
                recursive=False, vars=vars)

        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/Shiboken
            copydir("{qt_lib_dir}", "{dist_dir}/Shiboken",
                filter=["QtCore*.pdb", "QtXml*.pdb"],
                recursive=False, vars=vars)

        # pdb files for libshiboken
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/libshiboken/shiboken-python{py_version}{dbgPostfix}.pdb",
                "{dist_dir}/Shiboken/shiboken-python{py_version}{dbgPostfix}.pdb",
                vars=vars)
Exemplo n.º 17
0
    #export textual format
    print('exporting')
    exportfile = os.path.join(trydir, 'kmm_merged.text')
    exportModel(mergedmodel, exportfile)

    #prune merged model
    print('pruning')

    prunedmodel = os.path.join(trydir, 'pruned.db')
    if args.fast:
        shmmodel = os.path.join(config.getInMemoryFileSystem(), 'pruned.db')
        if os.access(shmmodel, os.F_OK):
            os.unlink(shmmodel)
        #copy to memory
        utils.copyfile(mergedmodel, shmmodel)
        pruneModel(shmmodel, args.k, args.CDF)
        #copy to filesystem
        utils.copyfile(shmmodel, prunedmodel)
    else:
        #backup merged model
        utils.copyfile(mergedmodel, prunedmodel)
        pruneModel(prunedmodel, args.k, args.CDF)

    #validate pruned model
    print('validating')
    validateModel(prunedmodel)

    #export textual format
    print('exporting')
    exportfile = os.path.join(trydir, 'kmm_pruned.text')
Exemplo n.º 18
0
def main():
    circuitpython_drive = find_circuitpython_drive()
    resource_manager = visa.ResourceManager("@ni")
    meter = Meter(resource_manager)
    sol = Sol()
    copy_calibration_script(circuitpython_drive)
    time.sleep(3)  # Wait a few second for circuitpython to maybe reload.
    sol.reset()
    cpu_id = sol.get_cpu_id()

    print(f"Sol CPU ID: {cpu_id}")

    channel_calibrations = {}
    channel_voltages = {}

    try:
        for channel in ("a", "b", "c", "d"):
            print(f"========= Channel {channel} =========")
            input(f"Connect to channel {channel}, press enter when ready.")
            calibration_values = {}
            channel_voltages[channel] = {}

            for step in range(16):
                dac_code = int((2**16 - 1) * step / 15)
                sol.set_dac(channel, dac_code)
                voltage = meter.read_voltage()
                calibration_values[voltage] = dac_code
                print(f"DAC code: {dac_code}, Voltage: {voltage}")

            sol.set_calibration(channel, calibration_values)
            channel_calibrations[channel] = calibration_values

            for desired_voltage in range(-5, 9):
                sol.set_voltage(channel, desired_voltage)
                measured_voltage = meter.read_voltage()
                channel_voltages[channel][desired_voltage] = measured_voltage
                print(f"Desired voltage: {desired_voltage}, Measured voltage: {measured_voltage}")

        
        calibration_file_contents = generate_calibration_file(channel_calibrations)
        sol.write_calibration_to_nvm(calibration_file_contents)

    finally:
        meter.close()

    print("========= Stats =========")
    for channel, voltages in channel_voltages.items():
        if not voltages:
            continue

        print(f"Channel {channel}:")
        differences = [abs(desired - measured) for desired, measured in voltages.items()]
        avg = statistics.mean(differences) * 1000
        dev = statistics.stdev(differences) * 1000
        worst = max(differences) * 1000
        best = min(differences) * 1000
        print(f"Average: {avg:.3f} mV ({avg / MILIVOLTS_PER_CODE:.0f} lsb)")
        print(f"Std. dev: {dev:.3f} mV ({dev / MILIVOLTS_PER_CODE:.0f} lsb)")
        print(f"Worst: {worst:.3f} mV ({worst / MILIVOLTS_PER_CODE:.0f} lsb)")
        print(f"Best: {best:.3f} mV ({best / MILIVOLTS_PER_CODE:.0f} lsb)")


    print(f"Saving calibration to calibrations/{cpu_id} and {circuitpython_drive}")

    calibration_file_path = os.path.join(os.path.dirname(__file__), 'calibrations', f'{cpu_id}.py')

    with open(calibration_file_path, "w") as fh:
        fh.write("# This is generated by the factory when assembling your\n")
        fh.write("# device. Do not remove or change this.\n\n")
        fh.write(calibration_file_contents)
        fh.flush()

    utils.copyfile(calibration_file_path, os.path.join(circuitpython_drive, "calibration.py"))

    restore_code_py(circuitpython_drive)

    print("Done.")
Exemplo n.º 19
0
    cwdstatuspath = os.path.join(trydir, config.getFinalStatusFileName())
    cwdstatus = utils.load_status(cwdstatuspath)
    if not utils.check_epoch(cwdstatus, 'Prune'):
        raise utils.EpochError('Please tryprune first.')

    if utils.check_epoch(cwdstatus, 'Evaluate'):
        sys.exit('already evaluated.')

    print('checking')
    checkData()

    modelfile = os.path.join(trydir, config.getFinalModelFileName())
    destfile = os.path.join(libpinyin_dir, 'data', \
                                config.getFinalModelFileName())

    utils.copyfile(modelfile, destfile)

    print('cleaning')
    cleanUpData()

    print('building')
    buildData()

    print('estimating')
    reportfile = os.path.join(trydir, 'estimate' + config.getReportPostfix())
    avg_lambda = estimateModel(reportfile)
    print('average lambda:', avg_lambda)

    cwdstatus['EvaluateAverageLambda'] = avg_lambda
    utils.store_status(cwdstatuspath, cwdstatus)
Exemplo n.º 20
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'] if self.debug or self.build_type == 'RelWithDebInfo' else []       
        # <install>/lib/site-packages/PySide/* -> <setup>/PySide
        copydir(
            "{install_dir}/lib/site-packages/PySide",
            "{dist_dir}/PySide",
            logger=log, vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside/PySide/*.pdb -> <setup>/PySide
            copydir(
                "{build_dir}/pyside/PySide",
                "{dist_dir}/PySide",
                filter=pdbs,
                recursive=False, logger=log, vars=vars)
        # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
        copydir(
            "{build_dir}/shiboken/doc/html",
            "{dist_dir}/PySide/docs/shiboken",
            force=False, logger=log, vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
        copyfile(
            "{install_dir}/lib/site-packages/shiboken{dbgPostfix}.pyd",
            "{dist_dir}/PySide/shiboken{dbgPostfix}.pyd",
            logger=log, vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken{dbgPostfix}.pdb",
                logger=log, vars=vars)        
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir(
            "{install_dir}/lib/site-packages/pysideuic",
            "{dist_dir}/pysideuic",
            force=False, logger=log, vars=vars)
        # <install>/bin/pyside-uic -> PySide/scripts/uic.py
        makefile(
            "{dist_dir}/PySide/scripts/__init__.py",
            logger=log, vars=vars)
        copyfile(
            "{install_dir}/bin/pyside-uic",
            "{dist_dir}/PySide/scripts/uic.py",
            force=False, logger=log, vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide/
        copydir(
            "{install_dir}/bin/",
            "{dist_dir}/PySide",
            filter=["*.exe", "*.dll"] + pdbs,
            recursive=False, logger=log, vars=vars)
        # <install>/lib/*.lib -> PySide/
        copydir(
            "{install_dir}/lib/",
            "{dist_dir}/PySide",
            filter=["*.lib"],
            recursive=False, logger=log, vars=vars)
        # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
        copydir(
            "{install_dir}/share/PySide/typesystems",
            "{dist_dir}/PySide/typesystems",
            logger=log, vars=vars)
        # <install>/include/* -> <setup>/PySide/include
        copydir(
            "{install_dir}/include",
            "{dist_dir}/PySide/include",
            logger=log, vars=vars)
        # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
        copydir(
            "{sources_dir}/pyside-examples/examples",
            "{dist_dir}/PySide/examples",
            force=False, logger=log, vars=vars)
        # <ssl_libs>/* -> <setup>/PySide/
        copydir("{ssl_libs_dir}", "{dist_dir}/PySide",
            filter=[
                "libeay32.dll",
                "ssleay32.dll"],
            force=False, logger=log, vars=vars)
        
        # <qt>/bin/*.dll -> <setup>/PySide
        copydir("{qt_bin_dir}", "{dist_dir}/PySide",
            filter=[
                "*.dll",
                "designer.exe",
                "linguist.exe",
                "lrelease.exe",
                "lupdate.exe",
                "lconvert.exe"],
            ignore=["*d4.dll"],
            recursive=False, logger=log, vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide
            copydir("{qt_bin_dir}", "{dist_dir}/PySide",
                filter=["*d4.dll"] + pdbs,
                recursive=False, logger=log, vars=vars)

        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide
            copydir("{qt_lib_dir}", "{dist_dir}/PySide",
                filter=["*.pdb"],
                recursive=False, logger=log, vars=vars)
            
        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide
        copydir("{qt_lib_dir}", "{dist_dir}/PySide",
            filter=["*.dll"],
            ignore=["*d?.dll"],
            recursive=False, logger=log, vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide
            copydir("{qt_lib_dir}", "{dist_dir}/PySide",
                filter=["*d?.dll"],
                recursive=False, logger=log, vars=vars)
        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide
            copydir("{qt_lib_dir}", "{dist_dir}/PySide",
                filter=pdbs,
                recursive=False, logger=log, vars=vars)
        
        # <qt>/plugins/* -> <setup>/PySide/plugins
        copydir("{qt_plugins_dir}", "{dist_dir}/PySide/plugins",
            filter=["*.dll"] + pdbs,
            logger=log, vars=vars)
        # <qt>/imports/* -> <setup>/PySide/imports
        copydir("{qt_imports_dir}", "{dist_dir}/PySide/imports",
            filter=["qmldir", "*.dll"] + pdbs,
            logger=log, vars=vars)
        # <qt>/translations/* -> <setup>/PySide/translations
        copydir("{qt_translations_dir}", "{dist_dir}/PySide/translations",
            filter=["*.qm"],
            logger=log, vars=vars)
Exemplo n.º 21
0
def restore_code_py(circuitpython_drive):
    utils.copyfile(
        os.path.join(circuitpython_drive, "code-bak.py"),
        os.path.join(circuitpython_drive, "code.py"))
    os.unlink(os.path.join(circuitpython_drive, "code-bak.py"))
Exemplo n.º 22
0
 def prepare_packages_posix(self, vars):
     executables = []
     if sys.platform.startswith('linux'):
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken2/doc/html/* -> <setup>/PySide2/docs/shiboken2
     copydir(
         "{build_dir}/shiboken2/doc/html",
         "{dist_dir}/PySide2/docs/shiboken2",
         force=False, vars=vars)
     # <install>/lib/site-packages/PySide2/* -> <setup>/PySide2
     copydir(
         "{site_packages_dir}/PySide2",
         "{dist_dir}/PySide2",
         vars=vars)
     # <install>/lib/site-packages/shiboken2.so -> <setup>/PySide2/shiboken2.so
     copyfile(
         "{site_packages_dir}/shiboken2.so",
         "{dist_dir}/PySide2/shiboken2.so",
         vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{site_packages_dir}/pysideuic",
         "{dist_dir}/pysideuic",
         force=False, vars=vars)
     if sys.version_info[0] > 2:
         rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
     else:
         rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
     # <install>/bin/pyside2-uic -> PySide2/scripts/uic.py
     makefile(
         "{dist_dir}/PySide2/scripts/__init__.py",
         vars=vars)
     copyfile(
         "{install_dir}/bin/pyside2-uic",
         "{dist_dir}/PySide2/scripts/uic.py",
         force=False, vars=vars)
     # <install>/bin/* -> PySide2/
     executables.extend(copydir(
         "{install_dir}/bin/",
         "{dist_dir}/PySide2",
         filter=[
             "pyside2-lupdate",
             "pyside2-rcc",
             "shiboken2",
         ],
         recursive=False, vars=vars))
     # <install>/lib/lib* -> PySide2/
     copydir(
         "{install_dir}/lib/",
         "{dist_dir}/PySide2",
         filter=[
             "libpyside*" + so_star,
             "libshiboken*" + so_star,
         ],
         recursive=False, vars=vars)
     # <install>/share/PySide2/typesystems/* -> <setup>/PySide2/typesystems
     copydir(
         "{install_dir}/share/PySide2/typesystems",
         "{dist_dir}/PySide2/typesystems",
         vars=vars)
     # <install>/include/* -> <setup>/PySide2/include
     copydir(
         "{install_dir}/include",
         "{dist_dir}/PySide2/include",
         vars=vars)
     if not OPTION_NOEXAMPLES:
         # <sources>/pyside2-examples/examples/* -> <setup>/PySide2/examples
         folder = get_extension_folder('pyside2-examples')
         copydir(
             "{sources_dir}/%s/examples" % folder,
             "{dist_dir}/PySide2/examples",
             force=False, vars=vars)
         # Re-generate examples Qt resource files for Python 3 compatibility
         if sys.version_info[0] == 3:
             examples_path = "{dist_dir}/PySide2/examples".format(**vars)
             pyside_rcc_path = "{install_dir}/bin/pyside2-rcc".format(**vars)
             pyside_rcc_options = '-py3'
             regenerate_qt_resources(examples_path, pyside_rcc_path,
                 pyside_rcc_options)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide2
         executables.extend(copydir("{qt_bin_dir}", "{dist_dir}/PySide2",
             filter=[
                 "designer",
                 "linguist",
                 "lrelease",
                 "lupdate",
                 "lconvert",
             ],
             recursive=False, vars=vars))
         # <qt>/lib/* -> <setup>/PySide2
         copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
             filter=[
                 "libQt*.so.?",
                 "libphonon.so.?",
             ],
             recursive=False, vars=vars)
         # <qt>/plugins/* -> <setup>/PySide2/plugins
         copydir("{qt_plugins_dir}", "{dist_dir}/PySide2/plugins",
             filter=["*.so"],
             vars=vars)
         # <qt>/imports/* -> <setup>/PySide2/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}", "{dist_dir}/PySide2/imports",
                 filter=["qmldir", "*.so"],
                 force=False, vars=vars)
         # <qt>/translations/* -> <setup>/PySide2/translations
         copydir("{qt_translations_dir}", "{dist_dir}/PySide2/translations",
             filter=["*.qm"],
             vars=vars)
     # Update rpath to $ORIGIN
     if sys.platform.startswith('linux') or sys.platform.startswith('darwin'):
         self.update_rpath("{dist_dir}/PySide2".format(**vars), executables)
Exemplo n.º 23
0
def moveFile(i, dataFolder, outputFolder):
    print('File {} from {}---> {}    ({}) '.format(i[0], i[1], i[2], i[3]))
    f = '{}/{}.jpg'.format(str(bool(i[1])).lower(), i[0])
    utils.copyfile(os.path.join(dataFolder, f), os.path.join(outputFolder,f))
Exemplo n.º 24
0
 def prepare_packages_posix(self, vars):
     if sys.platform.startswith('linux'):
         # patchelf -> PySide/patchelf
         copyfile("{script_dir}/patchelf",
                  "{dist_dir}/PySide/patchelf",
                  logger=log,
                  vars=vars)
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
     copydir("{build_dir}/shiboken/doc/html",
             "{dist_dir}/PySide/docs/shiboken",
             force=False,
             logger=log,
             vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir("{site_packages_dir}/PySide",
             "{dist_dir}/PySide",
             logger=log,
             vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile("{site_packages_dir}/shiboken.so",
              "{dist_dir}/PySide/shiboken.so",
              logger=log,
              vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir("{site_packages_dir}/pysideuic",
             "{dist_dir}/pysideuic",
             force=False,
             logger=log,
             vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile("{dist_dir}/PySide/scripts/__init__.py",
              logger=log,
              vars=vars)
     copyfile("{install_dir}/bin/pyside-uic",
              "{dist_dir}/PySide/scripts/uic.py",
              force=False,
              logger=log,
              vars=vars)
     # <install>/bin/* -> PySide/
     copydir("{install_dir}/bin/",
             "{dist_dir}/PySide",
             filter=[
                 "pyside-lupdate",
                 "pyside-rcc",
                 "shiboken",
             ],
             recursive=False,
             logger=log,
             vars=vars)
     # <install>/lib/lib* -> PySide/
     copydir("{install_dir}/lib/",
             "{dist_dir}/PySide",
             filter=[
                 "libpyside*" + so_star,
                 "libshiboken*" + so_star,
             ],
             recursive=False,
             logger=log,
             vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir("{install_dir}/share/PySide/typesystems",
             "{dist_dir}/PySide/typesystems",
             logger=log,
             vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir("{install_dir}/include",
             "{dist_dir}/PySide/include",
             logger=log,
             vars=vars)
     if not OPTION_NOEXAMPLES:
         # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
         copydir("{sources_dir}/pyside-examples/examples",
                 "{dist_dir}/PySide/examples",
                 force=False,
                 logger=log,
                 vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide
         copydir("{qt_bin_dir}",
                 "{dist_dir}/PySide",
                 filter=[
                     "designer",
                     "linguist",
                     "lrelease",
                     "lupdate",
                     "lconvert",
                 ],
                 recursive=False,
                 logger=log,
                 vars=vars)
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}",
                 "{dist_dir}/PySide",
                 filter=[
                     "libQt*.so.?",
                     "libphonon.so.?",
                 ],
                 recursive=False,
                 logger=log,
                 vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}",
                 "{dist_dir}/PySide/plugins",
                 filter=["*.so"],
                 logger=log,
                 vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}",
                     "{dist_dir}/PySide/imports",
                     filter=["qmldir", "*.so"],
                     logger=log,
                     vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}",
                 "{dist_dir}/PySide/translations",
                 filter=["*.qm"],
                 logger=log,
                 vars=vars)
Exemplo n.º 25
0
    def run(self,iso=None,tempdir=None,profiles=None,systems=None,distro=None,standalone=None,source=None,exclude_dns=None):

        # the distro option is for stand-alone builds only
        if not standalone and distro is not None:
            raise CX(_("The --distro option should only be used when creating a standalone ISO"))
        # if building standalone, we only want --distro,
        # profiles/systems are disallowed
        if standalone:
            if profiles is not None or systems is not None:
                raise CX(_("When building a standalone ISO, use --distro only instead of --profiles/--systems"))
            elif distro is None:
                raise CX(_("When building a standalone ISO, you must specify a --distro"))
            if source != None and not os.path.exists(source):
                raise CX(_("The source specified (%s) does not exist" % source))

        # if iso is none, create it in . as "kickstart.iso"
        if iso is None:
            iso = "kickstart.iso"

        if tempdir is None:
            tempdir = os.path.join(os.getcwd(), "buildiso")
        else:
            if not os.path.isdir(tempdir):
                raise CX(_("The --tempdir specified is not a directory"))

            (tempdir_head,tempdir_tail) = os.path.split(os.path.normpath(tempdir))
            if tempdir_tail != "buildiso":
                tempdir = os.path.join(tempdir, "buildiso")

        print _("- using/creating tempdir: %s") % tempdir
        if not os.path.exists(tempdir):
            os.makedirs(tempdir)
        else:
            shutil.rmtree(tempdir)
            os.makedirs(tempdir)

        # if base of tempdir does not exist, fail
        # create all profiles unless filtered by "profiles"

        imagesdir = os.path.join(tempdir, "images")
        isolinuxdir = os.path.join(tempdir, "isolinux")

        print _("- building tree for isolinux")
        if not os.path.exists(imagesdir):
            os.makedirs(imagesdir)
        if not os.path.exists(isolinuxdir):
            os.makedirs(isolinuxdir)

        print _("- copying miscellaneous files")
        isolinuxbin = "/usr/lib/syslinux/isolinux.bin"
        menu = "/var/lib/cobbler/menu.c32"
        chain = "/usr/lib/syslinux/chain.c32"
        files = [ isolinuxbin, menu, chain ]
        for f in files:
            if not os.path.exists(f):
               raise CX(_("Required file not found: %s") % f)
            else:
               utils.copyfile(f, os.path.join(isolinuxdir, os.path.basename(f)), self.api)

        if standalone:
            self.generate_standalone_iso(imagesdir,isolinuxdir,distro,source)
        else:
            self.generate_netboot_iso(imagesdir,isolinuxdir,profiles,systems,exclude_dns)

        cmd = "mkisofs -quiet -o %s -r -b isolinux/isolinux.bin -c isolinux/boot.cat" % iso
        cmd = cmd + " -no-emul-boot -boot-load-size 4"
        cmd = cmd + " -boot-info-table -V Cobbler\ Install -R -J -T %s" % tempdir

        print _("- running: %s") % cmd
        rc = sub_process.call(cmd, shell=True, close_fds=True)
        if rc:
            raise CX(_("mkisofs failed"))

        print _("ISO build complete")
        print _("You may wish to delete: %s") % tempdir
        print _("The output file is: %s") % iso
Exemplo n.º 26
0
    cwdstatuspath = os.path.join(trydir, config.getFinalStatusFileName())
    cwdstatus = utils.load_status(cwdstatuspath)
    if not utils.check_epoch(cwdstatus, 'Prune'):
        raise utils.EpochError('Please tryprune first.')

    if utils.check_epoch(cwdstatus, 'Evaluate'):
        sys.exit('already evaluated.')

    print('checking')
    checkData()

    modelfile = os.path.join(trydir, config.getFinalModelFileName())
    destfile = os.path.join(libpinyin_dir, 'data', \
                                config.getFinalModelFileName())

    utils.copyfile(modelfile, destfile)

    print('cleaning')
    cleanUpData()

    print('building')
    buildData()

    print('estimating')
    reportfile = os.path.join(trydir, 'estimate' + config.getReportPostfix())
    avg_lambda = estimateModel(reportfile)
    print('average lambda:', avg_lambda)

    cwdstatus['EvaluateAverageLambda'] = avg_lambda
    utils.store_status(cwdstatuspath, cwdstatus)
Exemplo n.º 27
0
    #export textual format
    print('exporting')
    exportfile = os.path.join(trydir, 'kmm_merged.text')
    exportModel(mergedmodel, exportfile)

    #prune merged model
    print('pruning')

    prunedmodel = os.path.join(trydir, 'pruned.db')
    if args.fast:
        shmmodel = os.path.join(config.getInMemoryFileSystem(), 'pruned.db')
        if os.access(shmmodel, os.F_OK):
            os.unlink(shmmodel)
        #copy to memory
        utils.copyfile(mergedmodel, shmmodel)
        pruneModel(shmmodel, args.k, args.CDF)
        #copy to filesystem
        utils.copyfile(shmmodel, prunedmodel)
    else:
        #backup merged model
        utils.copyfile(mergedmodel, prunedmodel)
        pruneModel(prunedmodel, args.k, args.CDF)

    #validate pruned model
    print('validating')
    validateModel(prunedmodel)

    #export textual format
    print('exporting')
    exportfile = os.path.join(trydir, 'kmm_pruned.text')
Exemplo n.º 28
0
def program_circuitpython():
    print("========== PROGRAMMING CIRCUITPYTHON ==========")
    input("Connect usb cable, press enter.")
    bootloader_drive = utils.find_drive_by_name("SOLBOOT")
    utils.copyfile("firmware.uf2", os.path.join(bootloader_drive, "NEW.uf2"))
def copy_cmtfile(cmtfile, targetdir):
    destfile = os.path.join(targetdir, "DATA/CMTSOLUTION")
    copyfile(cmtfile, destfile)
Exemplo n.º 30
0
 def prepare_packages_posix(self, vars):
     executables = []
     if sys.platform.startswith('linux'):
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
     copydir("{build_dir}/shiboken/doc/html",
             "{dist_dir}/PySide/docs/shiboken",
             force=False,
             vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir("{site_packages_dir}/PySide", "{dist_dir}/PySide", vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile("{site_packages_dir}/shiboken.so",
              "{dist_dir}/PySide/shiboken.so",
              vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir("{site_packages_dir}/pysideuic",
             "{dist_dir}/pysideuic",
             force=False,
             vars=vars)
     if sys.version_info[0] > 2:
         rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
     else:
         rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile("{dist_dir}/PySide/scripts/__init__.py", vars=vars)
     copyfile("{install_dir}/bin/pyside-uic",
              "{dist_dir}/PySide/scripts/uic.py",
              force=False,
              vars=vars)
     # <install>/bin/* -> PySide/
     executables.extend(
         copydir("{install_dir}/bin/",
                 "{dist_dir}/PySide",
                 filter=[
                     "pyside-lupdate",
                     "pyside-rcc",
                     "shiboken",
                 ],
                 recursive=False,
                 vars=vars))
     # <install>/lib/lib* -> PySide/
     copydir("{install_dir}/lib/",
             "{dist_dir}/PySide",
             filter=[
                 "libpyside*" + so_star,
                 "libshiboken*" + so_star,
             ],
             recursive=False,
             vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir("{install_dir}/share/PySide/typesystems",
             "{dist_dir}/PySide/typesystems",
             vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir("{install_dir}/include",
             "{dist_dir}/PySide/include",
             vars=vars)
     if not OPTION_NOEXAMPLES:
         # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
         copydir("{sources_dir}/pyside-examples/examples",
                 "{dist_dir}/PySide/examples",
                 force=False,
                 vars=vars)
         # Re-generate examples Qt resource files for Python 3 compatibility
         if sys.version_info[0] == 3:
             examples_path = "{dist_dir}/PySide/examples".format(**vars)
             pyside_rcc_path = "{install_dir}/bin/pyside-rcc".format(**vars)
             pyside_rcc_options = '-py3'
             regenerate_qt_resources(examples_path, pyside_rcc_path,
                                     pyside_rcc_options)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide
         executables.extend(
             copydir("{qt_bin_dir}",
                     "{dist_dir}/PySide",
                     filter=[
                         "designer",
                         "linguist",
                         "lrelease",
                         "lupdate",
                         "lconvert",
                     ],
                     recursive=False,
                     vars=vars))
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}",
                 "{dist_dir}/PySide",
                 filter=[
                     "libQt*.so.?",
                     "libphonon.so.?",
                 ],
                 recursive=False,
                 vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}",
                 "{dist_dir}/PySide/plugins",
                 filter=["*.so"],
                 vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}",
                     "{dist_dir}/PySide/imports",
                     filter=["qmldir", "*.so"],
                     force=False,
                     vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}",
                 "{dist_dir}/PySide/translations",
                 filter=["*.qm"],
                 vars=vars)
     # Update rpath to $ORIGIN
     if sys.platform.startswith('linux') or sys.platform.startswith(
             'darwin'):
         self.update_rpath("{dist_dir}/PySide".format(**vars), executables)
Exemplo n.º 31
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'
                ] if self.debug or self.build_type == 'RelWithDebInfo' else []
        # <install>/lib/site-packages/PySide/* -> <setup>/PySide
        copydir("{site_packages_dir}/PySide",
                "{dist_dir}/PySide",
                logger=log,
                vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside/PySide/*.pdb -> <setup>/PySide
            copydir("{build_dir}/pyside/PySide",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    logger=log,
                    vars=vars)
        # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
        copydir("{build_dir}/shiboken/doc/html",
                "{dist_dir}/PySide/docs/shiboken",
                force=False,
                logger=log,
                vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
        copyfile("{site_packages_dir}/shiboken{dbgPostfix}.pyd",
                 "{dist_dir}/PySide/shiboken{dbgPostfix}.pyd",
                 logger=log,
                 vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken{dbgPostfix}.pdb",
                logger=log,
                vars=vars)
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir("{site_packages_dir}/pysideuic",
                "{dist_dir}/pysideuic",
                force=False,
                logger=log,
                vars=vars)
        # <install>/bin/pyside-uic -> PySide/scripts/uic.py
        makefile("{dist_dir}/PySide/scripts/__init__.py",
                 logger=log,
                 vars=vars)
        copyfile("{install_dir}/bin/pyside-uic",
                 "{dist_dir}/PySide/scripts/uic.py",
                 force=False,
                 logger=log,
                 vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide/
        copydir("{install_dir}/bin/",
                "{dist_dir}/PySide",
                filter=["*.exe", "*.dll"] + pdbs,
                recursive=False,
                logger=log,
                vars=vars)
        # <install>/lib/*.lib -> PySide/
        copydir("{install_dir}/lib/",
                "{dist_dir}/PySide",
                filter=["*.lib"],
                recursive=False,
                logger=log,
                vars=vars)
        # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
        copydir("{install_dir}/share/PySide/typesystems",
                "{dist_dir}/PySide/typesystems",
                logger=log,
                vars=vars)
        # <install>/include/* -> <setup>/PySide/include
        copydir("{install_dir}/include",
                "{dist_dir}/PySide/include",
                logger=log,
                vars=vars)
        if not OPTION_NOEXAMPLES:
            # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
            copydir("{sources_dir}/pyside-examples/examples",
                    "{dist_dir}/PySide/examples",
                    force=False,
                    logger=log,
                    vars=vars)
        # <ssl_libs>/* -> <setup>/PySide/openssl
        copydir("{ssl_libs_dir}",
                "{dist_dir}/PySide/openssl",
                filter=["libeay32.dll", "ssleay32.dll"],
                force=False,
                logger=log,
                vars=vars)

        # <qt>/bin/*.dll -> <setup>/PySide
        copydir("{qt_bin_dir}",
                "{dist_dir}/PySide",
                filter=[
                    "*.dll", "designer.exe", "linguist.exe", "lrelease.exe",
                    "lupdate.exe", "lconvert.exe"
                ],
                ignore=["*d4.dll"],
                recursive=False,
                logger=log,
                vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide
            copydir("{qt_bin_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d4.dll"] + pdbs,
                    recursive=False,
                    logger=log,
                    vars=vars)

        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*.pdb"],
                    recursive=False,
                    logger=log,
                    vars=vars)

        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide
        copydir("{qt_lib_dir}",
                "{dist_dir}/PySide",
                filter=["*.dll"],
                ignore=["*d?.dll"],
                recursive=False,
                logger=log,
                vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d?.dll"],
                    recursive=False,
                    logger=log,
                    vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    logger=log,
                    vars=vars)

        # <qt>/plugins/* -> <setup>/PySide/plugins
        copydir("{qt_plugins_dir}",
                "{dist_dir}/PySide/plugins",
                filter=["*.dll"] + pdbs,
                logger=log,
                vars=vars)
        # <qt>/imports/* -> <setup>/PySide/imports
        copydir("{qt_imports_dir}",
                "{dist_dir}/PySide/imports",
                filter=["qmldir", "*.dll"] + pdbs,
                logger=log,
                vars=vars)
        # <qt>/translations/* -> <setup>/PySide/translations
        copydir("{qt_translations_dir}",
                "{dist_dir}/PySide/translations",
                filter=["*.qm"],
                logger=log,
                vars=vars)
Exemplo n.º 32
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'
                ] if self.debug or self.build_type == 'RelWithDebInfo' else []
        # <install>/lib/site-packages/PySide/* -> <setup>/PySide
        copydir("{site_packages_dir}/PySide", "{dist_dir}/PySide", vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside/PySide/*.pdb -> <setup>/PySide
            copydir("{build_dir}/pyside/PySide",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    vars=vars)
        # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
        copydir("{build_dir}/shiboken/doc/html",
                "{dist_dir}/PySide/docs/shiboken",
                force=False,
                vars=vars)
        # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
        copyfile("{site_packages_dir}/shiboken{dbgPostfix}.pyd",
                 "{dist_dir}/PySide/shiboken{dbgPostfix}.pyd",
                 vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/shibokenmodule/shiboken{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken{dbgPostfix}.pdb",
                vars=vars)
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir("{site_packages_dir}/pysideuic",
                "{dist_dir}/pysideuic",
                force=False,
                vars=vars)
        if sys.version_info[0] > 2:
            rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
        else:
            rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
        # <install>/bin/pyside-uic -> PySide/scripts/uic.py
        makefile("{dist_dir}/PySide/scripts/__init__.py", vars=vars)
        copyfile("{install_dir}/bin/pyside-uic",
                 "{dist_dir}/PySide/scripts/uic.py",
                 force=False,
                 vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide/
        copydir("{install_dir}/bin/",
                "{dist_dir}/PySide",
                filter=["*.exe", "*.dll"] + pdbs,
                recursive=False,
                vars=vars)
        # <install>/lib/*.lib -> PySide/
        copydir("{install_dir}/lib/",
                "{dist_dir}/PySide",
                filter=["*.lib"],
                recursive=False,
                vars=vars)
        # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
        copydir("{install_dir}/share/PySide/typesystems",
                "{dist_dir}/PySide/typesystems",
                vars=vars)
        # <install>/include/* -> <setup>/PySide/include
        copydir("{install_dir}/include",
                "{dist_dir}/PySide/include",
                vars=vars)
        if not OPTION_NOEXAMPLES:
            # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
            copydir("{sources_dir}/pyside-examples/examples",
                    "{dist_dir}/PySide/examples",
                    force=False,
                    vars=vars)
            # Re-generate examples Qt resource files for Python 3 compatibility
            if sys.version_info[0] == 3:
                examples_path = "{dist_dir}/PySide/examples".format(**vars)
                pyside_rcc_path = "{install_dir}/bin/pyside-rcc".format(**vars)
                pyside_rcc_options = '-py3'
                regenerate_qt_resources(examples_path, pyside_rcc_path,
                                        pyside_rcc_options)
        # <ssl_libs>/* -> <setup>/PySide/openssl
        copydir("{ssl_libs_dir}",
                "{dist_dir}/PySide/openssl",
                filter=["libeay32.dll", "ssleay32.dll"],
                force=False,
                vars=vars)

        # <qt>/bin/*.dll -> <setup>/PySide
        copydir("{qt_bin_dir}",
                "{dist_dir}/PySide",
                filter=[
                    "*.dll", "designer.exe", "linguist.exe", "lrelease.exe",
                    "lupdate.exe", "lconvert.exe"
                ],
                ignore=["*d4.dll"],
                recursive=False,
                vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide
            copydir("{qt_bin_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d4.dll"] + pdbs,
                    recursive=False,
                    vars=vars)

        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*.pdb"],
                    recursive=False,
                    vars=vars)

        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide
        copydir("{qt_lib_dir}",
                "{dist_dir}/PySide",
                filter=["*.dll"],
                ignore=["*d?.dll"],
                recursive=False,
                vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=["*d?.dll"],
                    recursive=False,
                    vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide
            copydir("{qt_lib_dir}",
                    "{dist_dir}/PySide",
                    filter=pdbs,
                    recursive=False,
                    vars=vars)

        # <qt>/plugins/* -> <setup>/PySide/plugins
        copydir("{qt_plugins_dir}",
                "{dist_dir}/PySide/plugins",
                filter=["*.dll"] + pdbs,
                vars=vars)
        # <qt>/imports/* -> <setup>/PySide/imports
        copydir("{qt_imports_dir}",
                "{dist_dir}/PySide/imports",
                filter=["qmldir", "*.dll"] + pdbs,
                vars=vars)
        # <qt>/translations/* -> <setup>/PySide/translations
        copydir("{qt_translations_dir}",
                "{dist_dir}/PySide/translations",
                filter=["*.qm"],
                vars=vars)

        # pdb files for libshiboken and libpyside
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken/libshiboken/shiboken-python{py_version}{dbgPostfix}.pdb",
                "{dist_dir}/PySide/shiboken-python{py_version}{dbgPostfix}.pdb",
                vars=vars)
            copyfile(
                "{build_dir}/pyside/libpyside/pyside-python{py_version}{dbgPostfix}.pdb",
                "{dist_dir}/PySide/pyside-python{py_version}{dbgPostfix}.pdb",
                vars=vars)
Exemplo n.º 33
0
    def run(self,
            iso=None,
            buildisodir=None,
            profiles=None,
            systems=None,
            distro=None,
            standalone=None,
            airgapped=None,
            source=None,
            exclude_dns=None,
            mkisofs_opts=None):

        # the airgapped option implies standalone
        if airgapped is True:
            standalone = True

        # the distro option is for stand-alone builds only
        if not standalone and distro is not None:
            utils.die(
                self.logger,
                "The --distro option should only be used when creating a standalone or airgapped ISO"
            )
        # if building standalone, we only want --distro and --profiles (optional),
        # systems are disallowed
        if standalone:
            if systems is not None:
                utils.die(
                    self.logger,
                    "When building a standalone ISO, use --distro and --profiles only, not --systems"
                )
            elif distro is None:
                utils.die(
                    self.logger,
                    "When building a standalone ISO, you must specify a --distro"
                )
            if source is not None and not os.path.exists(source):
                utils.die(self.logger,
                          "The source specified (%s) does not exist" % source)

            # insure all profiles specified are children of the distro
            if profiles:
                which_profiles = self.filter_systems_or_profiles(
                    profiles, 'profile')
                for profile in which_profiles:
                    if profile.distro != distro:
                        utils.die(
                            self.logger,
                            "When building a standalone ISO, all --profiles must be under --distro"
                        )

        # if iso is none, create it in . as "autoinst.iso"
        if iso is None:
            iso = "autoinst.iso"

        if buildisodir is None:
            buildisodir = self.settings.buildisodir
        else:
            if not os.path.isdir(buildisodir):
                utils.die(self.logger,
                          "The --tempdir specified is not a directory")

            (buildisodir_head,
             buildisodir_tail) = os.path.split(os.path.normpath(buildisodir))
            if buildisodir_tail != "buildiso":
                buildisodir = os.path.join(buildisodir, "buildiso")

        self.logger.info("using/creating buildisodir: %s" % buildisodir)
        if not os.path.exists(buildisodir):
            os.makedirs(buildisodir)
        else:
            shutil.rmtree(buildisodir)
            os.makedirs(buildisodir)

        # if base of buildisodir does not exist, fail
        # create all profiles unless filtered by "profiles"

        imagesdir = os.path.join(buildisodir, "images")
        isolinuxdir = os.path.join(buildisodir, "isolinux")

        self.logger.info("building tree for isolinux")
        if not os.path.exists(imagesdir):
            os.makedirs(imagesdir)
        if not os.path.exists(isolinuxdir):
            os.makedirs(isolinuxdir)

        self.logger.info("copying miscellaneous files")

        isolinuxbin = "/usr/share/syslinux/isolinux.bin"
        if not os.path.exists(isolinuxbin):
            isolinuxbin = "/usr/lib/syslinux/isolinux.bin"

        menu = "/usr/share/syslinux/menu.c32"
        if not os.path.exists(menu):
            menu = "/var/lib/cobbler/loaders/menu.c32"

        chain = "/usr/share/syslinux/chain.c32"
        if not os.path.exists(chain):
            chain = "/usr/lib/syslinux/chain.c32"

        ldlinux = "/usr/share/syslinux/ldlinux.c32"
        if not os.path.exists(ldlinux):
            ldlinux = "/usr/lib/syslinux/ldlinux.c32"

        libcom32 = "/usr/share/syslinux/libcom32.c32"
        if not os.path.exists(libcom32):
            ldlinux = "/usr/lib/syslinux/libcom32.c32"

        libutil = "/usr/share/syslinux/libutil.c32"
        if not os.path.exists(libutil):
            ldlinux = "/usr/lib/syslinux/libutil.c32"

        files = [isolinuxbin, menu, chain, ldlinux, libcom32, libutil]
        for f in files:
            if not os.path.exists(f):
                utils.die(self.logger, "Required file not found: %s" % f)
            else:
                utils.copyfile(f, os.path.join(isolinuxdir,
                                               os.path.basename(f)), self.api)

        if standalone or airgapped:
            self.generate_standalone_iso(imagesdir, isolinuxdir, distro,
                                         source, airgapped, profiles)
        else:
            self.generate_netboot_iso(imagesdir, isolinuxdir, profiles,
                                      systems, exclude_dns)

        if mkisofs_opts is None:
            mkisofs_opts = ""
        else:
            mkisofs_opts = mkisofs_opts.strip()

        # removed --quiet
        cmd = "mkisofs -o %s %s -r -b isolinux/isolinux.bin -c isolinux/boot.cat" % (
            iso, mkisofs_opts)
        cmd = cmd + " -no-emul-boot -boot-load-size 4"
        cmd = cmd + " -boot-info-table -V Cobbler\ Install -R -J -T %s" % buildisodir

        rc = utils.subprocess_call(self.logger, cmd, shell=True)
        if rc != 0:
            utils.die(self.logger, "mkisofs failed")

        self.logger.info("ISO build complete")
        self.logger.info("You may wish to delete: %s" % buildisodir)
        self.logger.info("The output file is: %s" % iso)
def copy_cmtfile(cmtfile, targetdir):
    destfile = os.path.join(targetdir, "DATA/CMTSOLUTION")
    copyfile(cmtfile, destfile)
Exemplo n.º 35
0
 def test_rustfmt_handler(self):
     fixture = os.path.join('fixtures', 'main.rs')
     data = {'filename': copyfile(fixture), 'settings': self.settings}
     handler = RustFMTHandler("format", data, 0, 0, self._check_rustfmt)
     handler.run()
Exemplo n.º 36
0
    def prepare_packages_win32(self, vars):
        pdbs = ['*.pdb'] if self.debug or self.build_type == 'RelWithDebInfo' else []
        # <install>/lib/site-packages/PySide2/* -> <setup>/PySide2
        copydir(
            "{site_packages_dir}/PySide2",
            "{dist_dir}/PySide2",
            vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            # <build>/pyside2/PySide2/*.pdb -> <setup>/PySide2
            copydir(
                "{build_dir}/pyside2/PySide2",
                "{dist_dir}/PySide2",
                filter=pdbs,
                recursive=False, vars=vars)
        # <build>/shiboken2/doc/html/* -> <setup>/PySide2/docs/shiboken2
        copydir(
            "{build_dir}/shiboken2/doc/html",
            "{dist_dir}/PySide2/docs/shiboken2",
            force=False, vars=vars)
        # <install>/lib/site-packages/shiboken2.pyd -> <setup>/PySide2/shiboken2.pyd
        copyfile(
            "{site_packages_dir}/shiboken2{dbgPostfix}.pyd",
            "{dist_dir}/PySide2/shiboken2{dbgPostfix}.pyd",
            vars=vars)
        if self.debug or self.build_type == 'RelWithDebInfo':
            copyfile(
                "{build_dir}/shiboken2/shibokenmodule/shiboken2{dbgPostfix}.pdb",
                "{dist_dir}/PySide2/shiboken2{dbgPostfix}.pdb",
                vars=vars)
        # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
        copydir(
            "{site_packages_dir}/pysideuic",
            "{dist_dir}/pysideuic",
            force=False, vars=vars)
        if sys.version_info[0] > 2:
            rmtree("{dist_dir}/pysideuic/port_v2".format(**vars))
        else:
            rmtree("{dist_dir}/pysideuic/port_v3".format(**vars))
        # <install>/bin/pyside2-uic -> PySide2/scripts/uic.py
        makefile(
            "{dist_dir}/PySide2/scripts/__init__.py",
            vars=vars)
        copyfile(
            "{install_dir}/bin/pyside2-uic",
            "{dist_dir}/PySide2/scripts/uic.py",
            force=False, vars=vars)
        # <install>/bin/*.exe,*.dll,*.pdb -> PySide2/
        copydir(
            "{install_dir}/bin/",
            "{dist_dir}/PySide2",
            filter=["*.exe", "*.dll"] + pdbs,
            recursive=False, vars=vars)
        # <install>/lib/*.lib -> PySide2/
        copydir(
            "{install_dir}/lib/",
            "{dist_dir}/PySide2",
            filter=["*.lib"],
            recursive=False, vars=vars)
        # <install>/share/PySide2/typesystems/* -> <setup>/PySide2/typesystems
        copydir(
            "{install_dir}/share/PySide2/typesystems",
            "{dist_dir}/PySide2/typesystems",
            vars=vars)
        # <install>/include/* -> <setup>/PySide2/include
        copydir(
            "{install_dir}/include",
            "{dist_dir}/PySide2/include",
            vars=vars)
        if not OPTION_NOEXAMPLES:
            # <sources>/pyside2-examples/examples/* -> <setup>/PySide2/examples
            folder = get_extension_folder('pyside2-examples')
            copydir(
                "{sources_dir}/%s/examples" % folder,
                "{dist_dir}/PySide2/examples",
                force=False, vars=vars)
            # Re-generate examples Qt resource files for Python 3 compatibility
            if sys.version_info[0] == 3:
                examples_path = "{dist_dir}/PySide2/examples".format(**vars)
                pyside_rcc_path = "{install_dir}/bin/pyside2-rcc".format(**vars)
                pyside_rcc_options = '-py3'
                regenerate_qt_resources(examples_path, pyside_rcc_path,
                    pyside_rcc_options)
        # <ssl_libs>/* -> <setup>/PySide2/openssl
        copydir("{ssl_libs_dir}", "{dist_dir}/PySide2/openssl",
            filter=[
                "libeay32.dll",
                "ssleay32.dll"],
            force=False, vars=vars)

        # <qt>/bin/*.dll -> <setup>/PySide2
        copydir("{qt_bin_dir}", "{dist_dir}/PySide2",
            filter=[
                "*.dll",
                "designer.exe",
                "linguist.exe",
                "lrelease.exe",
                "lupdate.exe",
                "lconvert.exe"],
            ignore=["*d4.dll"],
            recursive=False, vars=vars)
        if self.debug:
            # <qt>/bin/*d4.dll -> <setup>/PySide2
            copydir("{qt_bin_dir}", "{dist_dir}/PySide2",
                filter=["*d4.dll"] + pdbs,
                recursive=False, vars=vars)

        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*.pdb -> <setup>/PySide2
            copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
                filter=["*.pdb"],
                recursive=False, vars=vars)

        # I think these are the qt-mobility DLLs, at least some are,
        # so let's copy them too
        # <qt>/lib/*.dll -> <setup>/PySide2
        copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
            filter=["*.dll"],
            ignore=["*d?.dll"],
            recursive=False, vars=vars)
        if self.debug:
            # <qt>/lib/*d4.dll -> <setup>/PySide2
            copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
                filter=["*d?.dll"],
                recursive=False, vars=vars)
        if self.debug  or self.build_type == 'RelWithDebInfo':
            # <qt>/lib/*pdb -> <setup>/PySide2
            copydir("{qt_lib_dir}", "{dist_dir}/PySide2",
                filter=pdbs,
                recursive=False, vars=vars)

        # <qt>/plugins/* -> <setup>/PySide2/plugins
        copydir("{qt_plugins_dir}", "{dist_dir}/PySide2/plugins",
            filter=["*.dll"] + pdbs,
            vars=vars)
        # <qt>/imports/* -> <setup>/PySide2/imports
        copydir("{qt_imports_dir}", "{dist_dir}/PySide2/imports",
            filter=["qmldir", "*.dll"] + pdbs,
            vars=vars)
        # <qt>/translations/* -> <setup>/PySide2/translations
        copydir("{qt_translations_dir}", "{dist_dir}/PySide2/translations",
            filter=["*.qm"],
            vars=vars)

        # pdb files for libshiboken and libpyside
        if self.debug or self.build_type == 'RelWithDebInfo':
            # XXX dbgPostfix gives problems - the structure in shiboken2/data should be re-written!
            copyfile(
                "{build_dir}/shiboken2/libshiboken/shiboken2-python{py_version}.pdb",
                "{dist_dir}/PySide2/shiboken2-python{py_version}.pdb", # omitted dbgPostfix
                vars=vars)
            copyfile(
                "{build_dir}/pyside2/libpyside/pyside2-python{py_version}.pdb",
                "{dist_dir}/PySide2/pyside2-python{py_version}.pdb", # omitted dbgPostfix
                vars=vars)
Exemplo n.º 37
0
 def prepare_packages_linux(self, vars):
     # patchelf -> PySide/patchelf
     copyfile(
         "{setup_dir}/patchelf",
         "{setup_dir}/PySide/patchelf",
         logger=log, vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/PySide",
         "{setup_dir}/PySide",
         logger=log, vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile(
         "{install_dir}/lib/python{py_version}/site-packages/shiboken.so",
         "{setup_dir}/PySide/shiboken.so",
         logger=log, vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/pysideuic",
         "{setup_dir}/pysideuic",
         force=False, logger=log, vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile(
         "{setup_dir}/PySide/scripts/__init__.py",
         logger=log, vars=vars)
     copyfile(
         "{install_dir}/bin/pyside-uic",
         "{setup_dir}/PySide/scripts/uic.py",
         force=False, logger=log, vars=vars)
     # <install>/bin/* -> PySide/
     copydir(
         "{install_dir}/bin/",
         "{setup_dir}/PySide",
         filter=[
             "pyside-lupdate",
             "pyside-rcc",
             "shiboken",
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/lib/lib* -> PySide/
     copydir(
         "{install_dir}/lib/",
         "{setup_dir}/PySide",
         filter=[
             "libpyside*.so.*",
             "libshiboken*.so.*",
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir(
         "{install_dir}/share/PySide/typesystems",
         "{setup_dir}/PySide/typesystems",
         logger=log, vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir(
         "{install_dir}/include",
         "{setup_dir}/PySide/include",
         logger=log, vars=vars)
     # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
     copydir(
         "{sources_dir}/pyside-examples/examples",
         "{setup_dir}/PySide/examples",
         force=False, logger=log, vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         # <qt>/bin/* -> <setup>/PySide
         copydir("{qt_bin_dir}", "{setup_dir}/PySide",
             filter=[
                 "designer",
                 "linguist",
                 "lrelease",
                 "lupdate",
                 "lconvert",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}", "{setup_dir}/PySide",
             filter=[
                 "libQt*.so.?",
                 "libphonon.so.?",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}", "{setup_dir}/PySide/plugins",
             filter=["*.so"],
             logger=log, vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}", "{setup_dir}/PySide/imports",
                 filter=["qmldir", "*.so"],
                 logger=log, vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}", "{setup_dir}/PySide/translations",
             filter=["*.qm"],
             logger=log, vars=vars)
Exemplo n.º 38
0
 def prepare_packages_posix(self, vars):
     if sys.platform == 'linux2':
         # patchelf -> PySide/patchelf
         copyfile(
             "{script_dir}/patchelf",
             "{dist_dir}/PySide/patchelf",
             logger=log, vars=vars)
         so_ext = '.so'
         so_star = so_ext + '.*'
     elif sys.platform == 'darwin':
         so_ext = '.dylib'
         so_star = so_ext
     # <build>/shiboken/doc/html/* -> <setup>/PySide/docs/shiboken
     copydir(
         "{build_dir}/shiboken/doc/html",
         "{dist_dir}/PySide/docs/shiboken",
         force=False, logger=log, vars=vars)
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/PySide",
         "{dist_dir}/PySide",
         logger=log, vars=vars)
     # <install>/lib/site-packages/shiboken.so -> <setup>/PySide/shiboken.so
     copyfile(
         "{install_dir}/lib/python{py_version}/site-packages/shiboken.so",
         "{dist_dir}/PySide/shiboken.so",
         logger=log, vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{install_dir}/lib/python{py_version}/site-packages/pysideuic",
         "{dist_dir}/pysideuic",
         force=False, logger=log, vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile(
         "{dist_dir}/PySide/scripts/__init__.py",
         logger=log, vars=vars)
     copyfile(
         "{install_dir}/bin/pyside-uic",
         "{dist_dir}/PySide/scripts/uic.py",
         force=False, logger=log, vars=vars)
     # <install>/bin/* -> PySide/
     copydir(
         "{install_dir}/bin/",
         "{dist_dir}/PySide",
         filter=[
             "pyside-lupdate",
             "pyside-rcc",
             "shiboken",
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/lib/lib* -> PySide/
     copydir(
         "{install_dir}/lib/",
         "{dist_dir}/PySide",
         filter=[
             "libpyside*" + so_star,
             "libshiboken*" + so_star,
         ],
         recursive=False, logger=log, vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir(
         "{install_dir}/share/PySide/typesystems",
         "{dist_dir}/PySide/typesystems",
         logger=log, vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir(
         "{install_dir}/include",
         "{dist_dir}/PySide/include",
         logger=log, vars=vars)
     # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
     copydir(
         "{sources_dir}/pyside-examples/examples",
         "{dist_dir}/PySide/examples",
         force=False, logger=log, vars=vars)
     # Copy Qt libs to package
     if OPTION_STANDALONE:
         if sys.platform == 'darwin':
             raise RuntimeError('--standalone not yet supported for OSX')
         # <qt>/bin/* -> <setup>/PySide
         copydir("{qt_bin_dir}", "{dist_dir}/PySide",
             filter=[
                 "designer",
                 "linguist",
                 "lrelease",
                 "lupdate",
                 "lconvert",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/lib/* -> <setup>/PySide
         copydir("{qt_lib_dir}", "{dist_dir}/PySide",
             filter=[
                 "libQt*.so.?",
                 "libphonon.so.?",
             ],
             recursive=False, logger=log, vars=vars)
         # <qt>/plugins/* -> <setup>/PySide/plugins
         copydir("{qt_plugins_dir}", "{dist_dir}/PySide/plugins",
             filter=["*.so"],
             logger=log, vars=vars)
         # <qt>/imports/* -> <setup>/PySide/imports
         if float(vars["qt_version"][:3]) > 4.6:
             copydir("{qt_imports_dir}", "{dist_dir}/PySide/imports",
                 filter=["qmldir", "*.so"],
                 logger=log, vars=vars)
         # <qt>/translations/* -> <setup>/PySide/translations
         copydir("{qt_translations_dir}", "{dist_dir}/PySide/translations",
             filter=["*.qm"],
             logger=log, vars=vars)
Exemplo n.º 39
0
 def prepare_packages_win32(self, vars):
     # <install>/lib/site-packages/PySide/* -> <setup>/PySide
     copydir(
         "{install_dir}/lib/site-packages/PySide",
         "{setup_dir}/PySide",
         logger=log, vars=vars)
     if self.debug:
         # <build>/pyside/PySide/*.pdb -> <setup>/PySide
         copydir(
             "{build_dir}/pyside/PySide",
             "{setup_dir}/PySide",
             filter=["*.pdb"],
             recursive=False, logger=log, vars=vars)
     # <install>/lib/site-packages/shiboken.pyd -> <setup>/PySide/shiboken.pyd
     copyfile(
         "{install_dir}/lib/site-packages/shiboken.pyd",
         "{setup_dir}/PySide/shiboken.pyd",
         logger=log, vars=vars)
     # <install>/lib/site-packages/pysideuic/* -> <setup>/pysideuic
     copydir(
         "{install_dir}/lib/site-packages/pysideuic",
         "{setup_dir}/pysideuic",
         force=False, logger=log, vars=vars)
     # <install>/bin/pyside-uic -> PySide/scripts/uic.py
     makefile(
         "{setup_dir}/PySide/scripts/__init__.py",
         logger=log, vars=vars)
     copyfile(
         "{install_dir}/bin/pyside-uic",
         "{setup_dir}/PySide/scripts/uic.py",
         force=False, logger=log, vars=vars)
     # <install>/bin/*.exe,*.dll -> PySide/
     copydir(
         "{install_dir}/bin/",
         "{setup_dir}/PySide",
         filter=["*.exe", "*.dll"],
         recursive=False, logger=log, vars=vars)
     # <install>/lib/*.lib -> PySide/
     copydir(
         "{install_dir}/lib/",
         "{setup_dir}/PySide",
         filter=["*.lib"],
         recursive=False, logger=log, vars=vars)
     # <install>/share/PySide/typesystems/* -> <setup>/PySide/typesystems
     copydir(
         "{install_dir}/share/PySide/typesystems",
         "{setup_dir}/PySide/typesystems",
         logger=log, vars=vars)
     # <install>/include/* -> <setup>/PySide/include
     copydir(
         "{install_dir}/include",
         "{setup_dir}/PySide/include",
         logger=log, vars=vars)
     # <sources>/pyside-examples/examples/* -> <setup>/PySide/examples
     copydir(
         "{sources_dir}/pyside-examples/examples",
         "{setup_dir}/PySide/examples",
         force=False, logger=log, vars=vars)
     # <ssl_libs>/* -> <setup>/PySide/
     copydir("{ssl_libs_dir}", "{setup_dir}/PySide",
         filter=[
             "libeay32.dll",
             "ssleay32.dll"],
         force=False, logger=log, vars=vars)
     # <qt>/bin/*.dll -> <setup>/PySide
     copydir("{qt_bin_dir}", "{setup_dir}/PySide",
         filter=[
             "*.dll",
             "designer.exe",
             "linguist.exe",
             "lrelease.exe",
             "lupdate.exe",
             "lconvert.exe"],
         ignore=["*d4.dll"],
         recursive=False, logger=log, vars=vars)
     if self.debug:
         # <qt>/bin/*d4.dll -> <setup>/PySide
         copydir("{qt_bin_dir}", "{setup_dir}/PySide",
             filter=["*d4.dll"],
             recursive=False, logger=log, vars=vars)
     # <qt>/plugins/* -> <setup>/PySide/plugins
     copydir("{qt_plugins_dir}", "{setup_dir}/PySide/plugins",
         filter=["*.dll"],
         logger=log, vars=vars)
     # <qt>/imports/* -> <setup>/PySide/imports
     copydir("{qt_imports_dir}", "{setup_dir}/PySide/imports",
         filter=["qmldir", "*.dll"],
         logger=log, vars=vars)
     # <qt>/translations/* -> <setup>/PySide/translations
     copydir("{qt_translations_dir}", "{setup_dir}/PySide/translations",
         filter=["*.qm"],
         logger=log, vars=vars)
Exemplo n.º 40
0
    def run(self,iso=None,buildisodir=None,profiles=None,systems=None,distro=None,standalone=None,source=None,exclude_dns=None,mkisofs_opts=None):

        # the distro option is for stand-alone builds only
        if not standalone and distro is not None:
            utils.die(self.logger,"The --distro option should only be used when creating a standalone ISO")
        # if building standalone, we only want --distro,
        # profiles/systems are disallowed
        if standalone:
            if profiles is not None or systems is not None:
                utils.die(self.logger,"When building a standalone ISO, use --distro only instead of --profiles/--systems")
            elif distro is None:
                utils.die(self.logger,"When building a standalone ISO, you must specify a --distro")
            if source != None and not os.path.exists(source):
                utils.die(self.logger,"The source specified (%s) does not exist" % source)

        # if iso is none, create it in . as "kickstart.iso"
        if iso is None:
            iso = "kickstart.iso"

        if buildisodir is None:
            buildisodir = self.settings.buildisodir
        else:
            if not os.path.isdir(buildisodir):
                utils.die(self.logger,"The --tempdir specified is not a directory")

            (buildisodir_head,buildisodir_tail) = os.path.split(os.path.normpath(buildisodir))
            if buildisodir_tail != "buildiso":
                buildisodir = os.path.join(buildisodir, "buildiso")

        self.logger.info("using/creating buildisodir: %s" % buildisodir)
        if not os.path.exists(buildisodir):
            os.makedirs(buildisodir)
        else:
            shutil.rmtree(buildisodir)
            os.makedirs(buildisodir)

        # if base of buildisodir does not exist, fail
        # create all profiles unless filtered by "profiles"

        imagesdir = os.path.join(buildisodir, "images")
        isolinuxdir = os.path.join(buildisodir, "isolinux")

        self.logger.info("building tree for isolinux")
        if not os.path.exists(imagesdir):
            os.makedirs(imagesdir)
        if not os.path.exists(isolinuxdir):
            os.makedirs(isolinuxdir)

        self.logger.info("copying miscellaneous files")

        isolinuxbin = "/usr/share/syslinux/isolinux.bin"
        if not os.path.exists(isolinuxbin):
            isolinuxbin = "/usr/lib/syslinux/isolinux.bin"

        menu = "/usr/share/syslinux/menu.c32"
        if not os.path.exists(menu):
            menu = "/var/lib/cobbler/loaders/menu.c32"

        chain = "/usr/share/syslinux/chain.c32"
        if not os.path.exists(chain):
            chain = "/usr/lib/syslinux/chain.c32"

        files = [ isolinuxbin, menu, chain ]
        for f in files:
            if not os.path.exists(f):
               utils.die(self.logger,"Required file not found: %s" % f)
            else:
               utils.copyfile(f, os.path.join(isolinuxdir, os.path.basename(f)), self.api)

        if standalone:
            self.generate_standalone_iso(imagesdir,isolinuxdir,distro,source)
        else:
            self.generate_netboot_iso(imagesdir,isolinuxdir,profiles,systems,exclude_dns)

        if mkisofs_opts == None:
            mkisofs_opts = ""
        else:
            mkisofs_opts = mkisofs_opts.strip()

        # removed --quiet
        cmd = "mkisofs -o %s %s -r -b isolinux/isolinux.bin -c isolinux/boot.cat" % (iso,mkisofs_opts)
        cmd = cmd + " -no-emul-boot -boot-load-size 4"
        cmd = cmd + " -boot-info-table -V Cobbler\ Install -R -J -T %s" % buildisodir

        rc = utils.subprocess_call(self.logger, cmd, shell=True)
        if rc != 0:
            utils.die(self.logger,"mkisofs failed")

        self.logger.info("ISO build complete")
        self.logger.info("You may wish to delete: %s" % buildisodir)
        self.logger.info("The output file is: %s" % iso)

        return True
def copy_stations(_event, stationfolder, targetstadir):
    originsta = os.path.join(stationfolder, "STATIONS.%s" % _event)
    targetsta = os.path.join(targetstadir, "STATIONS.%s" % _event)
    if os.path.exists(originsta):
        copyfile(originsta, targetsta, verbose=False)
Exemplo n.º 42
0
 def __download_item(self, item):
     src = item['url']
     dst = os.path.join(NOAH_DOWNLOAD_HOME, item['type'], item['name'])
     self.logger.info("Downloading " + src + " to " + dst)
     copyfile(src, dst)
     pass
Exemplo n.º 43
0
 def test_rustfmt_command(self):
     fixture = os.path.join('fixtures', 'main.rs')
     RustFMT(self._check_rustfmt, 0, 0, copyfile(fixture), self.settings)
Exemplo n.º 44
0
    def run(self,iso=None,buildisodir=None,profiles=None,systems=None,distro=None,standalone=None,source=None,exclude_dns=None,force_server=None,no_local_hdd=None):

        self.settings = self.config.settings()

        # the distro option is for stand-alone builds only
        if not standalone and distro is not None:
            utils.die(self.logger,"The --distro option should only be used when creating a standalone ISO")
        # if building standalone, we only want --distro,
        # profiles/systems are disallowed
        if standalone:
            if profiles is not None or systems is not None:
                utils.die(self.logger,"When building a standalone ISO, use --distro only instead of --profiles/--systems")
            elif distro is None:
                utils.die(self.logger,"When building a standalone ISO, you must specify a --distro")
            if source != None and not os.path.exists(source):
                utils.die(self.logger,"The source specified (%s) does not exist" % source)

        # if iso is none, create it in . as "kickstart.iso"
        if iso is None:
            iso = "kickstart.iso"

        if buildisodir is None:
            buildisodir = self.settings.buildisodir
        else:
            if not os.path.isdir(buildisodir):
                utils.die(self.logger,"The --tempdir specified is not a directory")

            (buildisodir_head,buildisodir_tail) = os.path.split(os.path.normpath(buildisodir))
            if buildisodir_tail != "buildiso":
                buildisodir = os.path.join(buildisodir, "buildiso")

        self.logger.info("using/creating buildisodir: %s" % buildisodir)
        if not os.path.exists(buildisodir):
            os.makedirs(buildisodir)
        else:
            shutil.rmtree(buildisodir)
            os.makedirs(buildisodir)

        # if base of buildisodir does not exist, fail
        # create all profiles unless filtered by "profiles"

        imagesdir = os.path.join(buildisodir, "images")
        isolinuxdir = os.path.join(buildisodir, "isolinux")

        self.logger.info("building tree for isolinux")
        if not os.path.exists(imagesdir):
            os.makedirs(imagesdir)
        if not os.path.exists(isolinuxdir):
            os.makedirs(isolinuxdir)

        self.logger.info("copying miscellaneous files")

        isolinuxbin = "/usr/share/syslinux/isolinux.bin"
        if not os.path.exists(isolinuxbin):
            isolinuxbin = "/usr/lib/syslinux/isolinux.bin"

        menu = "/var/lib/cobbler/loaders/menu.c32"

        chain = "/usr/share/syslinux/chain.c32"
        if not os.path.exists(chain):
            chain = "/usr/lib/syslinux/chain.c32"

        files = [ isolinuxbin, menu, chain ]
        for f in files:
            if not os.path.exists(f):
               utils.die(self.logger,"Required file not found: %s. Try 'yum install cobbler-loaders'." % f)
            else:
               utils.copyfile(f, os.path.join(isolinuxdir, os.path.basename(f)), self.api)

        if standalone:
            self.generate_standalone_iso(imagesdir,isolinuxdir,distro,source)
        else:
            self.generate_netboot_iso(imagesdir,isolinuxdir,profiles,systems,exclude_dns,force_server, no_local_hdd)

        # removed --quiet
        cmd = "mkisofs -o %s -r -b isolinux/isolinux.bin -c isolinux/boot.cat" % iso
        cmd = cmd + " -no-emul-boot -boot-load-size 4"
        cmd = cmd + " -boot-info-table -V Cobbler\ Install -R -J -T %s" % buildisodir

        rc = utils.subprocess_call(self.logger, cmd, shell=True)
        if rc != 0:
            utils.die(self.logger,"mkisofs failed")

        self.logger.info("ISO build complete")
        self.logger.info("You may wish to delete: %s" % buildisodir)
        self.logger.info("The output file is: %s" % iso)

        return True
def copy_stations(_event, stationfolder, targetstadir):
    originsta = os.path.join(stationfolder, "STATIONS.%s" % _event)
    targetsta = os.path.join(targetstadir, "STATIONS.%s" % _event)
    if os.path.exists(originsta):
        copyfile(originsta, targetsta, verbose=False)