示例#1
0
 def run(self):
     version = get_gaupol_version()
     if os.path.isfile("ChangeLog"):
         os.remove("ChangeLog")
     run_command_or_exit("tools/generate-change-log > ChangeLog")
     assert os.path.isfile("ChangeLog")
     assert open("ChangeLog", "r").read().strip()
     sdist.run(self)
     basename = "gaupol-{}".format(version)
     tarballs = os.listdir(self.dist_dir)
     os.chdir(self.dist_dir)
     # Compare tarball contents with working copy.
     temp_dir = tempfile.gettempdir()
     test_dir = os.path.join(temp_dir, basename)
     tobj = tarfile.open(tarballs[-1], "r")
     for member in tobj.getmembers():
         tobj.extract(member, temp_dir)
     log.info("comparing tarball (tmp) with working copy (../..)")
     os.system('diff -qr -x ".*" -x "*.pyc" ../.. {}'.format(test_dir))
     response = input("Are all files in the tarball [Y/n]? ")
     if response.lower() == "n":
         raise SystemExit("Must edit MANIFEST.in")
     shutil.rmtree(test_dir)
     # Create extra distribution files.
     os.system("xz {}.tar".format(basename))
     log.info("calculating md5sums")
     run_command_or_exit("md5sum * > {}.md5sum".format(basename))
     log.info("creating '{}.changes'".format(basename))
     source = os.path.join("..", "..", "ChangeLog")
     shutil.copyfile(source, "{}.changes".format(basename))
     log.info("creating '{}.news'".format(basename))
     source = os.path.join("..", "..", "NEWS")
     shutil.copyfile(source, "{}.news".format(basename))
     log.info("signing '{}.tar.xz'".format(basename))
     run_command_or_exit("gpg --detach {}.tar.xz".format(basename))
示例#2
0
文件: setup.py 项目: harelkh/gaupol
 def run(self):
     version = get_gaupol_version()
     if os.path.isfile("ChangeLog"):
         os.remove("ChangeLog")
     run_command_or_exit("tools/generate-change-log > ChangeLog")
     assert os.path.isfile("ChangeLog")
     assert open("ChangeLog", "r").read().strip()
     sdist.run(self)
     basename = "gaupol-{}".format(version)
     tarballs = os.listdir(self.dist_dir)
     os.chdir(self.dist_dir)
     # Compare tarball contents with working copy.
     temp_dir = tempfile.gettempdir()
     test_dir = os.path.join(temp_dir, basename)
     tobj = tarfile.open(tarballs[-1], "r")
     for member in tobj.getmembers():
         tobj.extract(member, temp_dir)
     log.info("comparing tarball (tmp) with working copy (../..)")
     os.system('diff -qr -x ".*" -x "*.pyc" ../.. {}'.format(test_dir))
     response = input("Are all files in the tarball [Y/n]? ")
     if response.lower() == "n":
         raise SystemExit("Must edit MANIFEST.in")
     shutil.rmtree(test_dir)
     # Create extra distribution files.
     os.system("xz {}.tar".format(basename))
     log.info("calculating md5sums")
     run_command_or_exit("md5sum * > {}.md5sum".format(basename))
     log.info("creating '{}.changes'".format(basename))
     source = os.path.join("..", "..", "ChangeLog")
     shutil.copyfile(source, "{}.changes".format(basename))
     log.info("creating '{}.news'".format(basename))
     source = os.path.join("..", "..", "NEWS.md")
     shutil.copyfile(source, "{}.news".format(basename))
     log.info("signing '{}.tar.xz'".format(basename))
     run_command_or_exit("gpg --detach {}.tar.xz".format(basename))
示例#3
0
    def run(self):
        sdist = self.get_finalized_command('sdist')
        sdist.ensure_finalized()
        sdist.formats = ["tar"]  # overwrite
        sdist.run()
        sdist_tarball = sdist.get_archive_files()

        if len(sdist_tarball) > 1:
            self.warn("ingnored 'sdist' results", sdist_tarball[1:])

        self.mkpath("build")
        self.copy_file(sdist_tarball[0], "build/bf-project.tar")

        return command_cls.run(self)
示例#4
0
 def run(self):
     version = get_gaupol_version()
     if os.path.isfile("ChangeLog"):
         os.remove("ChangeLog")
     run_command_or_exit("tools/generate-change-log > ChangeLog")
     assert os.path.isfile("ChangeLog")
     assert open("ChangeLog", "r").read().strip()
     sdist.run(self)
     basename = "gaupol-%s" % version
     tarballs = os.listdir(self.dist_dir)
     os.chdir(self.dist_dir)
     # Compare tarball contents with working copy.
     temp_dir = tempfile.gettempdir()
     test_dir = os.path.join(temp_dir, basename)
     tobj = tarfile.open(tarballs[-1], "r")
     for member in tobj.getmembers():
         tobj.extract(member, temp_dir)
     log.info("comparing tarball (tmp) with working copy (../..)")
     os.system('diff -qr -x ".*" -x "*.pyc" ../.. %s' % test_dir)
     response = raw_input("Are all files in the tarball [Y/n]? ")
     if response.lower() == "n":
         raise SystemExit("Must edit MANIFEST.in")
     shutil.rmtree(test_dir)
     # Create extra distribution files.
     log.info("calculating md5sums")
     run_command_or_exit("md5sum * > %s.md5sum" % basename)
     log.info("creating '%s.changes'" % basename)
     source = os.path.join("..", "..", "ChangeLog")
     shutil.copyfile(source, "%s.changes" % basename)
     log.info("creating '%s.news'" % basename)
     source = os.path.join("..", "..", "NEWS")
     shutil.copyfile(source, "%s.news" % basename)
     for tarball in tarballs:
         log.info("signing '%s'" % tarball)
         run_command_or_exit("gpg --detach %s" % tarball)
     os.chdir("..")
     log.info("creating 'latest.txt'")
     with open("latest.txt", "w") as fobj:
         fobj.write("%s\n" % version)
示例#5
0
    def run(self: distutils.cmd.Command):
        distribution: BigflowDistribution = self.distribution

        # build sdist package & copy into /build
        sdist = self.get_finalized_command('sdist')
        sdist.ensure_finalized()
        sdist.formats = ["tar"]  # overwrite
        sdist.run()
        sdist_tarball = sdist.get_archive_files()

        if len(sdist_tarball) > 1:
            self.warn("ingnored 'sdist' results", sdist_tarball[1:])
        self.mkpath("build")
        self.copy_file(sdist_tarball[0], "build/bf-project.tar")

        # generate patched pyproject.toml inside /build
        pyproject_toml = Path("build", "pyproject.toml")
        if Path("pyproject.toml").exists():
            self.copy_file("pyproject.toml", pyproject_toml)
        spec.add_spec_to_pyproject_toml(pyproject_toml, distribution.bigflow_project_spec)

        return command_cls.run(self)