def get_package_env(version=None, release=None, dist=None, patches_branch=None, local_patches_branch=None): branch = git.current_branch() if branch.endswith('-patches'): branch = branch[:-8] if git.branch_exists(branch): log.info("This looks like -patches branch. Assuming distgit branch: " "%s" % branch) git.checkout(branch) else: raise exception.InvalidUsage( why="This action must be run on a distgit branch.") args = { 'package': guess.package(), 'branch': branch, } if not release or not dist: _release, _dist = guess.osreleasedist(branch, default=(None, None)) if not release and _release: args['release'] = _release if not dist and _dist: args['dist'] = _dist osdist = guess.osdist() if osdist == 'RHOS': log.info("RHOS package detected.") args['fedpkg'] = ['rhpkg'] if not patches_branch: patches_branch = guess.patches_branch(branch, pkg=args['package'], osdist=osdist) args['patches_branch'] = patches_branch if not local_patches_branch: args['local_patches_branch'] = patches_branch.partition('/')[2] if not version: args['version'] = guess.current_version() return args
def get_package_env(version=None, release=None, dist=None, patches_branch=None, local_patches_branch=None): branch = git.current_branch() if branch.endswith("-patches"): branch = branch[:-8] if git.branch_exists(branch): log.info("This looks like -patches branch. Assuming distgit branch: " "%s" % branch) git.checkout(branch) else: raise exception.InvalidUsage(why="This action must be run on a distgit branch.") args = {"package": guess.package(), "branch": branch} if not release or not dist: _release, _dist = guess.osreleasedist(branch, default=(None, None)) if not release and _release: args["release"] = _release if not dist and _dist: args["dist"] = _dist osdist = guess.osdist() if osdist == "RHOS": log.info("RHOS package detected.") args["fedpkg"] = ["rhpkg"] if not patches_branch: patches_branch = guess.patches_branch(branch, pkg=args["package"], osdist=osdist) args["patches_branch"] = patches_branch if not local_patches_branch: args["local_patches_branch"] = patches_branch.partition("/")[2] if not version: version = guess.current_version() args["version"] = version args["version_tag_style"] = guess.version_tag_style(version=version) return args
def reqquery(reqs_file=None, reqs_ref=None, spec=False, filter=None, dump=None, dump_file=None, load=None, load_file=None, verbose=False): if not (reqs_ref or reqs_file or spec or load or load_file): reqs_ref = guess.current_version() if not (bool(reqs_ref) ^ bool(reqs_file) ^ bool(spec) ^ bool(load) ^ bool(load_file)): raise exception.InvalidUsage( why="Only one requirements source (-r/-R/-s/-l/-L) can be " "selected.") if dump and dump_file: raise exception.InvalidUsage( why="Only one dump method (-d/-D) can be selected.") if dump: dump_file = 'requirements.yml' if load: load_file = 'requirements.yml' # get query results as requested if load_file: log.info("Loading query results from file: %s" % load_file) r = yaml.load(open(load_file)) else: release, dist = None, None if not filter: try: release, dist = guess.osreleasedist() log.info('Autodetected filter: %s/%s' % (release, dist)) except exception.CantGuess as ex: raise exception.CantGuess( msg='%s\n\nPlease select RELEASE(/DIST) filter to query.' % str(ex)) else: release, _, dist = filter.partition('/') module2pkg = True if reqs_file: log.info("Querying requirements file: %s" % reqs_file) reqs = _reqs.get_reqs_from_path(reqs_file) elif reqs_ref: log.info("Querying requirements file from git: " "%s -- requirements.txt" % reqs_ref) reqs = _reqs.get_reqs_from_ref(reqs_ref) else: log.info("Querying .spec file") module2pkg = False reqs = _reqs.get_reqs_from_spec(as_objects=True) log.info('') r = _reqs.reqquery(reqs, release=release, dist=dist, module2pkg=module2pkg, verbose=verbose) if dump_file: log.info("Saving query results to file: %s" % dump_file) yaml.dump(r, open(dump_file, 'w')) _reqs.print_reqquery(r)