From 559f0dd922affae7f991f02c07879c0611d8d400 Mon Sep 17 00:00:00 2001 From: mprahl Date: Apr 25 2019 19:53:56 +0000 Subject: Use dedent when defining the module-build-macros specfile --- diff --git a/module_build_service/builder/KojiModuleBuilder.py b/module_build_service/builder/KojiModuleBuilder.py index fdef3ef..c53c9e6 100644 --- a/module_build_service/builder/KojiModuleBuilder.py +++ b/module_build_service/builder/KojiModuleBuilder.py @@ -40,7 +40,7 @@ import six.moves.xmlrpc_client as xmlrpclib import munch from itertools import chain from OpenSSL.SSL import SysCallError - +import textwrap from module_build_service import log, conf, models import module_build_service.scm @@ -334,85 +334,92 @@ class KojiModuleBuilder(GenericBuilder): map(KojiModuleBuilder.format_conflicts_line, req_data['ursine_rpms']) )) - spec_content = """ -%global dist {disttag} -%global modularitylabel {module_name}:{module_stream}:{module_version}:{module_context} -%global _module_name {module_name} -%global _module_stream {module_stream} -%global _module_version {module_version} -%global _module_context {module_context} + spec_content = textwrap.dedent(""" + %global dist {disttag} + %global modularitylabel {module_name}:{module_stream}:{module_version}:{module_context} + %global _module_name {module_name} + %global _module_stream {module_stream} + %global _module_version {module_version} + %global _module_context {module_context} -Name: {name} -Version: {version} -Release: {release}%dist -Summary: Package containing macros required to build generic module -BuildArch: noarch + Name: {name} + Version: {version} + Release: {release}%dist + Summary: Package containing macros required to build generic module + BuildArch: noarch -Group: System Environment/Base -License: MIT -URL: http://fedoraproject.org + Group: System Environment/Base + License: MIT + URL: http://fedoraproject.org -Source1: macros.modules + Source1: macros.modules -{filter_conflicts} + {filter_conflicts} -%description -This package is used for building modules with a different dist tag. -It provides a file /usr/lib/rpm/macros.d/macro.modules and gets read -after macro.dist, thus overwriting macros of macro.dist like %%dist -It should NEVER be installed on any system as it will really mess up - updates, builds, .... + %description + This package is used for building modules with a different dist tag. + It provides a file /usr/lib/rpm/macros.d/macro.modules and gets read + after macro.dist, thus overwriting macros of macro.dist like %%dist + It should NEVER be installed on any system as it will really mess up + updates, builds, .... -%build + %build -%install -mkdir -p %buildroot/etc/rpm 2>/dev/null |: -cp %SOURCE1 %buildroot/etc/rpm/macros.zz-modules -chmod 644 %buildroot/etc/rpm/macros.zz-modules + %install + mkdir -p %buildroot/etc/rpm 2>/dev/null |: + cp %SOURCE1 %buildroot/etc/rpm/macros.zz-modules + chmod 644 %buildroot/etc/rpm/macros.zz-modules -%files -/etc/rpm/macros.zz-modules + %files + /etc/rpm/macros.zz-modules -%changelog -* {today} Fedora-Modularity - {version}-{release}{disttag} -- autogenerated macro by Module Build Service (MBS) -""".format(disttag=disttag, today=today, name=name, version=version, - release=release, - module_name=module_build.name, - module_stream=module_build.stream, - module_version=module_build.version, - module_context=module_build.context, - filter_conflicts='\n'.join(filter_conflicts)) + %changelog + * {today} Fedora-Modularity - {version}-{release}{disttag} + - autogenerated macro by Module Build Service (MBS) + """).format( + disttag=disttag, + today=today, + name=name, + version=version, + release=release, + module_name=module_build.name, + module_stream=module_build.stream, + module_version=module_build.version, + module_context=module_build.context, + filter_conflicts="\n".join(filter_conflicts), + ) modulemd_macros = "" rpm_buildopts = mmd.get_rpm_buildopts() if rpm_buildopts: - modulemd_macros = rpm_buildopts.get('macros') - - macros_content = """ - -# General macros set by MBS - -%dist {disttag} -%modularitylabel {module_name}:{module_stream}:{module_version}:{module_context} -%_module_build 1 -%_module_name {module_name} -%_module_stream {module_stream} -%_module_version {module_version} -%_module_context {module_context} - -# Macros set by module author: - -{modulemd_macros} -""".format(disttag=disttag, module_name=module_build.name, - module_stream=module_build.stream, - module_version=module_build.version, - module_context=module_build.context, - modulemd_macros=modulemd_macros) + modulemd_macros = rpm_buildopts.get("macros") + + macros_content = textwrap.dedent(""" + # General macros set by MBS + + %dist {disttag} + %modularitylabel {module_name}:{module_stream}:{module_version}:{module_context} + %_module_build 1 + %_module_name {module_name} + %_module_stream {module_stream} + %_module_version {module_version} + %_module_context {module_context} + + # Macros set by module author: + + {modulemd_macros} + """).format( + disttag=disttag, + module_name=module_build.name, + module_stream=module_build.stream, + module_version=module_build.version, + module_context=module_build.context, + modulemd_macros=modulemd_macros, + ) td = tempfile.mkdtemp(prefix="module_build_service-build-macros") fd = open(os.path.join(td, "%s.spec" % name), "w")