diff options
author | Ben Brown <ben.brown@codethink.co.uk> | 2017-07-21 12:09:42 +0100 |
---|---|---|
committer | Ben Brown <ben.brown@codethink.co.uk> | 2017-07-31 16:13:20 +0100 |
commit | 7a6e56d69c130ade4731512819d222e7db0dd17b (patch) | |
tree | e96ecc6331fbeabf935b983c18d6d239381464f7 | |
parent | 03118ff399b71daac9a9978c6a3f5f7df4319a00 (diff) | |
download | ybd-7a6e56d69c130ade4731512819d222e7db0dd17b.tar.gz |
Add support for 'Conflicts' and 'Obsoletes' fieldsbenbrown/obsoletes-conflicts
Iterates over a tuple of the fields that expect lists, to avoid
further duplication.
-rw-r--r-- | ybd/rpm.py | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -143,6 +143,7 @@ def generate_spec(dn, stage_dir, metafile, output, name, system): output_f.write('Summary: %s\n' % description) output_f.write('License: %s\n' % 'Undetermined') output_f.write('Prefix: %s\n' % dn.get('prefix', '/usr')) + list_fields = ('Requires', 'Conflicts', 'Provides', 'Obsoletes') # Add all the main package Provides: for package in package_list: if is_main_package(system, dn, package['name']): @@ -165,12 +166,11 @@ def generate_spec(dn, stage_dir, metafile, output, name, system): if 'epoch' in d), None) if epoch: output_f.write('Epoch: %s\n' % epoch) - if 'provides' in package: - for provide in package['provides']: - output_f.write('Provides: %s\n' % provide) - if 'requires' in package: - for require in package['requires']: - output_f.write('Requires: %s\n' % require) + for field in list_fields: + field_l = field.lower() + if field_l in package: + for item in package[field_l]: + output_f.write('%s: %s\n' % (field, item)) output_f.write('\n') output_f.write('%%description\n') @@ -189,12 +189,11 @@ def generate_spec(dn, stage_dir, metafile, output, name, system): .format(package['release'], dn['sha'])) if 'epoch' in package: output_f.write('Epoch: %s\n' % package['epoch']) - if 'provides' in package: - for provide in package['provides']: - output_f.write('Provides: %s\n' % provide) - if 'requires' in package: - for require in package['requires']: - output_f.write('Requires: %s\n' % require) + for field in list_fields: + field_l = field.lower() + if field_l in package: + for item in package[field_l]: + output_f.write('%s: %s\n' % (field, item)) output_f.write('\n') output_f.write('%%description -n %s\n' % package['name']) output_f.write('%s\n' % description) |