diff options
author | Neal Gompa <ngompa13@gmail.com> | 2016-06-01 23:01:31 -0400 |
---|---|---|
committer | Neal Gompa <ngompa13@gmail.com> | 2016-06-01 23:01:31 -0400 |
commit | c7083098f0ba2700ed7b2c0c0abe71f2de020123 (patch) | |
tree | 295c863549ff2006d4efa5fc9ba93854462ec54a /MgaRepo | |
parent | 06a32f511caa32ed72e999aae0c0d09afb59d493 (diff) | |
download | mgarepo-c7083098f0ba2700ed7b2c0c0abe71f2de020123.tar mgarepo-c7083098f0ba2700ed7b2c0c0abe71f2de020123.tar.gz mgarepo-c7083098f0ba2700ed7b2c0c0abe71f2de020123.tar.bz2 mgarepo-c7083098f0ba2700ed7b2c0c0abe71f2de020123.tar.xz mgarepo-c7083098f0ba2700ed7b2c0c0abe71f2de020123.zip |
Support using DNF instead of urpmi for buildrpm
Diffstat (limited to 'MgaRepo')
-rw-r--r-- | MgaRepo/commands/buildrpm.py | 2 | ||||
-rw-r--r-- | MgaRepo/rpmutil.py | 17 |
2 files changed, 14 insertions, 5 deletions
diff --git a/MgaRepo/commands/buildrpm.py b/MgaRepo/commands/buildrpm.py index 421ece0..79653e8 100644 --- a/MgaRepo/commands/buildrpm.py +++ b/MgaRepo/commands/buildrpm.py @@ -14,6 +14,7 @@ Options: -I Don't automatically try install missing build dependencies -l Disable rpmlint check of packages built -P USER Define the RPM packager information to USER + -d Use DNF -q Quiet build output -s Jump to specific build stage (--short-circuit) @@ -25,6 +26,7 @@ def parse_options(): parser.add_option("-I", dest="installdeps", action="store_false", default=True) parser.add_option("-l", dest="rpmlint", action="store_false", default=True) parser.add_option("-P", dest="packager", default="") + parser.add_option("-d", "--dnf", dest="use_dnf", action="store_true", default=False) parser.add_option("-q", "--quiet", dest="verbose", action="store_false", default=True) parser.add_option("-s", "--short-circuit", dest="short_circuit", action="store_true", default=False) opts, args = parser.parse_args() diff --git a/MgaRepo/rpmutil.py b/MgaRepo/rpmutil.py index a9dfa7b..bb9964a 100644 --- a/MgaRepo/rpmutil.py +++ b/MgaRepo/rpmutil.py @@ -381,6 +381,7 @@ def build_rpm(build_cmd="b", short_circuit=False, packager = None, installdeps = True, + use_dnf = False, macros = []): top = os.getcwd() topdir = "_topdir %s" % top @@ -428,17 +429,23 @@ def build_rpm(build_cmd="b", else: if verbose: print("Installing missing build dependencies") + if use_dnf: + pkg_mgr_base = ["dnf"] + pkg_mgr_builddep = pkg_mgr_base + ["--assume-yes", "--setopt=install_weak_deps=False", "builddep"] + else: + pkg_mgr_base = ["urpmi"] + pkg_mgr_builddep = pkg_mgr_base + ["--auto", "--buildrequires", "--no-recommends"] if os.getuid() != 0: - print("Trying to obtain privileges for urpmi:") - sudocheck = ["sudo", "-l", "urpmi"] + print("Trying to obtain privileges for installing build dependencies:") + sudocheck = ["sudo", "-l"] + pkg_mgr_base status, output = execcmd(*sudocheck, collecter=True, noerror=True) if status: raise Error("%s\nFailed! Cannot proceed without, aborting..." % output.splitlines()[-1]) - urpmi = ["sudo", "urpmi"] + cmd_base = ["sudo"] + pkg_mgr_builddep else: - urpmi = ["urpmi"] - cmd = urpmi + ["--auto", "--buildrequires", "--no-recommends", spec] + cmd_base = pkg_mgr_builddep + cmd = cmd_base + [spec] status, output = execcmd(*cmd, show=verbose, collecter=True, noerror=True) status, output = execcmd(*args + ["-b"+build_cmd], show=verbose) |