From f17b98976eef91ca48f208ab0f2eb9a7a3fdb9d3 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 3 Feb 2010 11:06:30 +0000 Subject: [PATCH] - python byte-compilation errors abort the build by default --- ...nfig-9.1.0-strict-python-bytecompile.patch | 36 +++++++++++++++++++ redhat-rpm-config.spec | 7 +++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 redhat-rpm-config-9.1.0-strict-python-bytecompile.patch diff --git a/redhat-rpm-config-9.1.0-strict-python-bytecompile.patch b/redhat-rpm-config-9.1.0-strict-python-bytecompile.patch new file mode 100644 index 0000000..e6d3059 --- /dev/null +++ b/redhat-rpm-config-9.1.0-strict-python-bytecompile.patch @@ -0,0 +1,36 @@ +commit 7cf1ad2dbb5af9b9012ba67b9687ad28c02578d6 +Author: Panu Matilainen +Date: Wed Feb 3 12:52:30 2010 +0200 + + Enable strict python bytecompile mode (if rpm supports it) + - with %_python_bytecompile_errors_terminate_build set to non-zero, + byte-compilation errors will abort the build, this helps catch out + silly "improt foo" syntax errors early on + - not all .py files are valid python (they can be templates, inteded for + jython consumption etc), and what's valid can depend on the python + version (notably 2.x vs 3.x) so allow overriding from spec + +diff --git a/macros b/macros +index 77844f0..7721fe0 100644 +--- a/macros ++++ b/macros +@@ -95,7 +95,7 @@ + %{!?__debug_package:/usr/lib/rpm/redhat/brp-strip %{__strip}} \ + /usr/lib/rpm/redhat/brp-strip-static-archive %{__strip} \ + /usr/lib/rpm/redhat/brp-strip-comment-note %{__strip} %{__objdump} \ +- /usr/lib/rpm/brp-python-bytecompile %{__python} \ ++ /usr/lib/rpm/brp-python-bytecompile %{__python} %{?_python_bytecompile_errors_terminate_build} \ + /usr/lib/rpm/redhat/brp-python-hardlink \ + %{!?__jar_repack:/usr/lib/rpm/redhat/brp-java-repack-jars} \ + %{nil} +@@ -167,6 +167,10 @@ unset DISPLAY\ + # Should unpackaged files in a build root terminate a build? + %_unpackaged_files_terminate_build 1 + ++# ++## Should python bytecompilation errors terminate a build? ++%_python_bytecompile_errors_terminate_build 1 ++ + # Use SHA-256 for FILEDIGESTS instead of default MD5 + %_source_filedigest_algorithm 8 + %_binary_filedigest_algorithm 8 diff --git a/redhat-rpm-config.spec b/redhat-rpm-config.spec index 92ac80e..74ba5cd 100644 --- a/redhat-rpm-config.spec +++ b/redhat-rpm-config.spec @@ -1,12 +1,13 @@ Summary: Red Hat specific rpm configuration files Name: redhat-rpm-config Version: 9.1.0 -Release: 1%{?dist} +Release: 2%{?dist} # No version specified. License: GPL+ Group: Development/System URL: http://git.fedoraproject.org/git/redhat-rpm-config Source: redhat-rpm-config-%{version}.tar.bz2 +Patch0: redhat-rpm-config-9.1.0-strict-python-bytecompile.patch BuildArch: noarch Requires: mktemp Requires: rpm >= 4.6.0 @@ -18,6 +19,7 @@ Red Hat specific rpm configuration files. %prep %setup -q +%patch0 -p1 %build @@ -37,6 +39,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_prefix}/lib/rpm/redhat %changelog +* Wed Feb 3 2010 Panu Matilainen - 9.1.0-2 +- python byte-compilation errors abort the build by default + * Tue Feb 2 2010 Panu Matilainen - 9.1.0-1 - new version, lose merged patches (fixes #521141, #455279, #496522, #458648) - require rpm for parent dir, version >= 4.6.0 for sane keyserver behavior