def alreadyHdr(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.hdr') for hdr, id, ver in getHdrIdVer(statusObj.file): dest, packageIni = copyHdr(hdr, id, ver, outputTopdir, logger) for txt in glob.glob( "%s.[Tt][Xx][Tt]" % statusObj.file[:-len(".txt")] ): shutil.copyfile( txt, os.path.join(dest, "relnotes.txt") ) return True
def biosFromInstallShield(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.exe') common.copyToTmp(statusObj) common.doOnce( statusObj, common.zipExtract, statusObj.tmpfile, statusObj.tmpdir, logger ) common.doOnce( statusObj, common.cabExtract, "data1.cab", statusObj.tmpdir, logger ) for hdr, id, ver in getHdrIdVer(statusObj.tmpdir, os.path.join(statusObj.tmpdir,"BiosHeader")): dest, packageIni = copyHdr(hdr, id, ver, outputTopdir, logger) for txt in glob.glob( "%s.[Tt][Xx][Tt]" % statusObj.file[:-len(".txt")] ): shutil.copyfile( txt, os.path.join(dest, "relnotes.txt") ) return True
def biosFromDOSExe(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.exe') common.copyToTmp(statusObj) cmd = common.doOnce(statusObj, setupFreedosForThisDir, statusObj.tmpdir, statusObj.tmpfile) try: common.loggedCmd( cmd + [ "%s -writehdrfile" % os.path.basename(statusObj.tmpfile) ], timeout=75, cwd=statusObj.tmpdir, logger=logger, env={"DISPLAY":"", "TERM":"", "PATH":os.environ["PATH"], "HOME": os.environ["HOME"]}) except common.CommandException, e: raise common.skip, "couldnt extract with extract_hdr_helper.sh"
def biosFromLinuxDup2(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.bin') common.copyToTmp(statusObj) flashbin = os.path.join(statusObj.tmpdir, "flashbin") common.gzipAfterHeader(statusObj.tmpfile, flashbin, "__ARC__") oldmode = stat.S_IMODE(os.stat(flashbin)[stat.ST_MODE]) os.chmod(flashbin, oldmode | stat.S_IRWXU) try: common.loggedCmd( [flashbin, "--WriteHDRFile"], cwd=statusObj.tmpdir, logger=logger, env={"DISPLAY":"", "TERM":"", "PATH":os.environ["PATH"], "LD_PRELOAD": "/usr/lib/libfakeroot/libfakeroot.so"} ) except (OSError, common.CommandException), e: raise common.skip, str(e)
def biosFromWindowsExe(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.exe') common.copyToTmp(statusObj) thiswineprefix = os.path.join(statusObj.tmpdir, "wine") env={ "DISPLAY":"", "TERM":"", "PATH":os.environ["PATH"], "HOME":os.environ["HOME"], "WINEPREFIX": thiswineprefix } shutil.copytree(wineprefix, thiswineprefix, symlinks=True) try: common.loggedCmd( ["wine", os.path.basename(statusObj.tmpfile), "-writehdrfile", "-nopause",], timeout=75, raiseExc=0, cwd=statusObj.tmpdir, logger=logger, env=env) common.loggedCmd(["wineserver", "-k"], cwd=statusObj.tmpdir, logger=logger, env=env) except (common.CommandException), e: raise common.skip, "couldnt extract with wine"
def biosFromLinuxDup3(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.bin') common.copyToTmp(statusObj) fd = open(statusObj.tmpfile, "r") buf = fd.read(4) fd.close() if buf != '\177ELF': raise common.skip, "not an ELF file." oldmode = stat.S_IMODE(os.stat(statusObj.tmpfile)[stat.ST_MODE]) os.chmod(statusObj.tmpfile, oldmode | stat.S_IRWXU) try: common.loggedCmd( [statusObj.tmpfile, "--WriteHDRFile"], cwd=statusObj.tmpdir, logger=logger, env={"DISPLAY":"", "TERM":"", "PATH":os.environ["PATH"], "LD_PRELOAD": "/usr/lib/libfakeroot/libfakeroot.so"} ) except (OSError, common.CommandException), e: raise common.skip, str(e)
def biosFromDcopyExe(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.exe') common.copyToTmp(statusObj) dcopydir = os.path.join(statusObj.tmpdir, "dos", "freedos", "dcopy") os.mkdir(dcopydir) os.mkdir(dcopydir + "2") common.doOnce(statusObj, common.zipExtract, statusObj.tmpfile, dcopydir, logger) if not os.path.exists(os.path.join(dcopydir, "MAKEDISK.BAT")): raise common.skip, "not a dcopy image." cmd = common.doOnce(statusObj, setupFreedosForThisDir, statusObj.tmpdir, statusObj.tmpfile) try: for exe in glob.glob(os.path.join(dcopydir, "*.[Ee][Xx][Ee]")): common.loggedCmd( cmd + [ "dcopy\\%s /s a:" % os.path.basename(exe) ], timeout=75, cwd=statusObj.tmpdir, logger=logger, env={"DISPLAY":"", "TERM":"", "PATH":os.environ["PATH"], "HOME": os.environ["HOME"]}) common.loggedCmd( cmd + [ "copy a:\\*.* c:\\dcopy2" ], timeout=75, cwd=statusObj.tmpdir, logger=logger, env={"DISPLAY":"", "TERM":"", "PATH":os.environ["PATH"], "HOME": os.environ["HOME"]}) for exe in glob.glob(os.path.join(dcopydir + "2", "*.[Ee][Xx][Ee]")): if "ync.exe" in exe.lower(): continue common.loggedCmd( cmd + [ "dcopy2\\%s -writehdrfile" % os.path.basename(exe) ], timeout=10, cwd=statusObj.tmpdir, logger=logger, env={"DISPLAY":"", "TERM":"", "PATH":os.environ["PATH"], "HOME": os.environ["HOME"]}) except common.CommandException, e: raise common.skip, "couldnt extract with extract_hdr_helper.sh"
def biosFromWindowsDup(statusObj, outputTopdir, logger, *args, **kargs): common.assertFileExt( statusObj.file, '.exe') common.copyToTmp(statusObj) common.doOnce( statusObj, common.zipExtract, statusObj.tmpfile, statusObj.tmpdir, logger ) return genericBiosDup(statusObj, outputTopdir, logger, *args, **kargs)