diff options
author | Jonathan Maw <jonathan.maw@codethink.co.uk> | 2017-04-28 17:04:41 +0100 |
---|---|---|
committer | Ben Brown <ben.brown@codethink.co.uk> | 2017-07-10 09:13:48 +0000 |
commit | cb0c5c04a83f622b14a9b485257925d79fd095de (patch) | |
tree | 95f59a7317d8c0f48a7e0e3b9127a8955b4f3b13 /ybd | |
parent | 34c611d46e994b47910c659b467ec18c00f669f8 (diff) | |
download | ybd-cb0c5c04a83f622b14a9b485257925d79fd095de.tar.gz |
rpm: Write version and release on a per-package basis
Diffstat (limited to 'ybd')
-rw-r--r-- | ybd/rpm.py | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -147,15 +147,22 @@ def generate_spec(dn, stage_dir, metafile, output, name, system): # Write out the package header first output_f.write('Name: %s\n' % name) output_f.write('Summary: %s\n' % description) - output_f.write('Version: %s\n' % dn['rpm-metadata']['version']) - rel_str = 'Release: {}git{}\n'.format(dn['rpm-metadata']['release'], - dn['sha']) - output_f.write(rel_str) output_f.write('License: %s\n' % 'Undetermined') output_f.write('Prefix: %s\n' % dn.get('prefix', '/usr')) # 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']) + else: + app.log(dn, "Main package has no version!") + return False + if 'release' in package: + output_f.write('Release: {}git{}\n' + .format(package['release'], dn['sha'])) + else: + app.log(dn, "Main package has no release!") + return False if 'provides' in package: for provide in package['provides']: output_f.write('Provides: %s\n' % provide) @@ -174,6 +181,11 @@ def generate_spec(dn, stage_dir, metafile, output, name, system): output_f.write('%%package -n %s\n' % package['name']) output_f.write('Summary: %s\n' % description) output_f.write('\n') + if 'version' in package: + output_f.write('Version: %s\n' % version) + if 'release' in package: + output_f.write('Release: {}git{}\n' + .format(package['release'], dn['sha'])) if 'provides' in package: for provide in package['provides']: output_f.write('Provides: %s\n' % provide) |