diff options
author | Javier Jardón <jjardon@gnome.org> | 2017-07-19 16:57:28 +0000 |
---|---|---|
committer | Javier Jardón <jjardon@gnome.org> | 2017-07-19 16:57:28 +0000 |
commit | 61fbcd3d4ae831722efb0d80c9b16e1055c80589 (patch) | |
tree | 1d5a75edf4ea988171a1bd6b500e5f20f12a49c0 | |
parent | e48b216e362c43a32f5c688757550364f4ca338d (diff) | |
parent | f81c24bda1228f86cfa3c96ab18b6ea52138bd05 (diff) | |
download | ybd-61fbcd3d4ae831722efb0d80c9b16e1055c80589.tar.gz |
Merge branch 'benbrown/metafile-fix' into 'master'
Extract metafiles into the metadir
See merge request !375
-rw-r--r-- | ybd/rpm.py | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -214,7 +214,7 @@ def generate_spec(dn, stage_dir, metafile, output, name, system): if type(package.get('files')) is not list: continue - metafile = package.get('metafile', '') + metafile = package.get('metafile', '').lstrip(os.sep) if metafile: metafile = " -f " + metafile @@ -250,6 +250,18 @@ def extract_defines(dn): return ''.join(strings) +def extract_metafiles(metadata, instdir, metadir): + if isinstance(metadata, Mapping): + packages = metadata.get('packages', []) + else: + packages = metadata + + for package in packages: + metafile = package.get('metafile', '').lstrip(os.sep) + if metafile: + shutil.move(os.path.join(instdir, metafile), metadir) + + def get_package_names_with_fields(system, dn, fields): # Ignores subpackages without files sections as those aren't generated. if 'rpm-metadata' not in dn: @@ -445,10 +457,12 @@ def package_one_rpm(dn, userdata): if generate_spec(dn, fulldir, metafile, specfile, name, system): defines = extract_defines(dn) + extract_metafiles(dn['rpm-metadata'], fulldir, metadir) # XXX Now we gonna run rpmbuild in the sandbox !!! command = ('rpmbuild ' + common_rpm_args + ' --buildroot=/%s.inst' % name + + ' --define "_builddir /%s.meta"' % name + ' --define "_rpmdir /RPMS"' + defines + ' --target %s' % app.config['cpu'] + ' -bb /%s.meta/%s.spec' % (name, name)) |