summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Ulrich Niedermann <hun@n-dimensional.de>2011-01-21 13:59:34 +0100
committerHans Ulrich Niedermann <hun@n-dimensional.de>2011-02-05 01:24:12 +0100
commit3738d0af3674b700122265ce173b23ae80d4e31c (patch)
tree4806a2a20ea43e3b82824b677a9418dd7b634d70
parent3324262aa9f763f4716e602658f4ff59588cdf8a (diff)
downloadfedora-packager-3738d0af3674b700122265ce173b23ae80d4e31c.tar.gz
fedora-packager-3738d0af3674b700122265ce173b23ae80d4e31c.tar.xz
fedora-packager-3738d0af3674b700122265ce173b23ae80d4e31c.zip
Unify --md5 parameter handling
Unify handling of the --md5 parameter between the two targets using it: 'fedpkg local' and 'fedpkg srpm'. If no --md5 parameter is given, then the default hashtype is used, as determined in PackageModule.__init__() ('md5' for el5 and el6, and 'sha256' for everything else). If an --md5 parameter is given, then use the 'md5' hashtype.
-rwxr-xr-xsrc/fedpkg.py16
-rw-r--r--src/pyfedpkg/__init__.py8
2 files changed, 13 insertions, 11 deletions
diff --git a/src/fedpkg.py b/src/fedpkg.py
index 4e7344b..e1e63e9 100755
--- a/src/fedpkg.py
+++ b/src/fedpkg.py
@@ -567,10 +567,7 @@ def local(args):
arch = args.arch
try:
mymodule = pyfedpkg.PackageModule(args.path, args.dist)
- if args.md5:
- return mymodule.local(arch=arch, hashtype='md5')
- else:
- return mymodule.local(arch=arch)
+ return mymodule.local(arch=arch, hashtype=args.hashtype)
except pyfedpkg.FedpkgError, e:
log.error('Could not build locally: %s' % e)
sys.exit(1)
@@ -672,10 +669,7 @@ def srpm(args):
try:
mymodule = pyfedpkg.PackageModule(args.path, args.dist)
pyfedpkg.sources(args.path)
- if args.md5:
- mymodule.srpm('md5')
- else:
- mymodule.srpm()
+ mymodule.srpm(hashtype=args.hashtype)
except pyfedpkg.FedpkgError, e:
log.error('Could not make an srpm: %s' % e)
sys.exit(1)
@@ -1071,7 +1065,8 @@ packages will be built sequentially.
help = 'Local test rpmbuild binary')
parser_local.add_argument('--arch', help = 'Build for arch')
# optionally define old style hashsums
- parser_local.add_argument('--md5', action = 'store_true',
+ parser_local.add_argument('--md5', action = 'store_const',
+ dest='hashtype', const='md5', default=None,
help = 'Use md5 checksums (for older rpm hosts)')
parser_local.set_defaults(command = local)
@@ -1149,7 +1144,8 @@ packages will be built sequentially.
parser_srpm = subparsers.add_parser('srpm',
help = 'Create a source rpm')
# optionally define old style hashsums
- parser_srpm.add_argument('--md5', action = 'store_true',
+ parser_srpm.add_argument('--md5', action = 'store_const',
+ dest='hashtype', const='md5', default=None,
help = 'Use md5 checksums (for older rpm hosts)')
parser_srpm.set_defaults(command = srpm)
diff --git a/src/pyfedpkg/__init__.py b/src/pyfedpkg/__init__.py
index f913774..fdfdfe7 100644
--- a/src/pyfedpkg/__init__.py
+++ b/src/pyfedpkg/__init__.py
@@ -1523,7 +1523,7 @@ class PackageModule:
_run_command(cmd, shell=True)
return
- def local(self, arch=None, hashtype='sha256'):
+ def local(self, arch=None, hashtype=None):
"""rpmbuild locally for given arch.
Takes arch to build for, and hashtype to build with.
@@ -1534,6 +1534,10 @@ class PackageModule:
"""
+ # Figure out which hashtype to use, if not provided one
+ if not hashtype:
+ hashtype = self.hashtype
+
# This could really use a list of arches to build for and loop over
# Get the sources
sources(self.path)
@@ -1740,9 +1744,11 @@ class PackageModule:
cmd = ['rpmbuild']
cmd.extend(self.rpmdefines)
+
# Figure out which hashtype to use, if not provided one
if not hashtype:
hashtype = self.hashtype
+
# This may need to get updated if we ever change our checksum default
if not hashtype == 'sha256':
cmd.extend(["--define '_source_filedigest_algorithm %s'" % hashtype,