summaryrefslogtreecommitdiff
path: root/ybd
diff options
context:
space:
mode:
authorJonathan Maw <jonathan.maw@codethink.co.uk>2017-04-28 17:04:41 +0100
committerBen Brown <ben.brown@codethink.co.uk>2017-07-10 09:13:48 +0000
commitcb0c5c04a83f622b14a9b485257925d79fd095de (patch)
tree95f59a7317d8c0f48a7e0e3b9127a8955b4f3b13 /ybd
parent34c611d46e994b47910c659b467ec18c00f669f8 (diff)
downloadybd-cb0c5c04a83f622b14a9b485257925d79fd095de.tar.gz
rpm: Write version and release on a per-package basis
Diffstat (limited to 'ybd')
-rw-r--r--ybd/rpm.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/ybd/rpm.py b/ybd/rpm.py
index 5b826e2..b69536f 100644
--- a/ybd/rpm.py
+++ b/ybd/rpm.py
@@ -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)