diff options
author | Ben Brown <ben.brown@codethink.co.uk> | 2017-07-06 15:17:03 +0100 |
---|---|---|
committer | Ben Brown <ben.brown@codethink.co.uk> | 2017-07-10 09:13:49 +0000 |
commit | e21e7769d90f4ed93b1c99a7b7206a4d8794fef4 (patch) | |
tree | fe9ebce92f774ccf87190e143f6b07ee88b38985 | |
parent | cb0c5c04a83f622b14a9b485257925d79fd095de (diff) | |
download | ybd-e21e7769d90f4ed93b1c99a7b7206a4d8794fef4.tar.gz |
Use top-level fields if package-level isn't present
-rw-r--r-- | ybd/rpm.py | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -152,14 +152,18 @@ def generate_spec(dn, stage_dir, metafile, output, name, system): # Add all the main package Provides: for package in package_list: if is_main_package(system, dn, package['name']): - if 'version' in package: - output_f.write('Version: %s\n' % package['version']) + version = next((d['version'] for d in (package, rpm_metadata) + if 'version' in d), None) + if version: + output_f.write('Version: %s\n' % version) else: app.log(dn, "Main package has no version!") return False - if 'release' in package: + release = next((d['release'] for d in (package, rpm_metadata) + if 'release' in d), None) + if release: output_f.write('Release: {}git{}\n' - .format(package['release'], dn['sha'])) + .format(release, dn['sha'])) else: app.log(dn, "Main package has no release!") return False |