diff --git a/.protobuf.metadata b/.protobuf.metadata index c609ccb..9423dc0 100644 --- a/.protobuf.metadata +++ b/.protobuf.metadata @@ -1,3 +1,2 @@ -2dbd904c1c0eadbe7250854fa8a2b8695a930e34 SOURCES/googlemock-1.7.0.tar.gz -d7aa4b8536f3a007b480cf016be8a4333dbf4768 SOURCES/googletest-1.7.0.tar.gz -41eaae1c0ae5fdc7fcb18916bf8fd22a4e3438a3 SOURCES/protobuf-3.5.0.tar.gz +b613ab3057c8a7400e7b7d3004824274d964a196 SOURCES/protobuf-3.14.0-all.tar.gz +fe843a3a69583fa23f1e77722c6d25ad3be61703 SOURCES/5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.zip diff --git a/SOURCES/0001-fix-build-on-s390x.patch b/SOURCES/0001-fix-build-on-s390x.patch deleted file mode 100644 index 611a177..0000000 --- a/SOURCES/0001-fix-build-on-s390x.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3db1323d1d6132f08d0bafbd8602da7d71456745 Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Tue, 28 Nov 2017 20:58:00 +0100 -Subject: [PATCH] fix build on s390x - -Signed-off-by: Igor Gnatenko ---- - src/google/protobuf/stubs/atomicops.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/google/protobuf/stubs/atomicops.h b/src/google/protobuf/stubs/atomicops.h -index cb4553b1..34278f3a 100644 ---- a/src/google/protobuf/stubs/atomicops.h -+++ b/src/google/protobuf/stubs/atomicops.h -@@ -214,7 +214,7 @@ Atomic64 Release_Load(volatile const Atomic64* ptr); - #elif defined(GOOGLE_PROTOBUF_ARCH_PPC) - #include - #elif (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) --#include -+#include - #elif defined(__clang__) - #if __has_extension(c_atomic) - #include --- -2.15.0 - diff --git a/SOURCES/protobuf-3.14-disable-IoTest.LargeOutput.patch b/SOURCES/protobuf-3.14-disable-IoTest.LargeOutput.patch new file mode 100644 index 0000000..eea2849 --- /dev/null +++ b/SOURCES/protobuf-3.14-disable-IoTest.LargeOutput.patch @@ -0,0 +1,25 @@ +--- a/src/google/protobuf/io/zero_copy_stream_unittest.cc.orig 2021-01-12 12:25:18.471517830 +0100 ++++ b/src/google/protobuf/io/zero_copy_stream_unittest.cc 2021-01-12 12:25:42.022696126 +0100 +@@ -712,22 +712,6 @@ + } + } + +-// Verifies that outputs up to kint32max can be created. +-TEST_F(IoTest, LargeOutput) { +- std::string str; +- StringOutputStream output(&str); +- void* unused_data; +- int size; +- // Repeatedly calling Next should eventually grow the buffer to kint32max. +- do { +- EXPECT_TRUE(output.Next(&unused_data, &size)); +- } while (str.size() < std::numeric_limits::max()); +- // Further increases should be possible. +- output.Next(&unused_data, &size); +- EXPECT_GT(size, 0); +-} +- +- + // To test files, we create a temporary file, write, read, truncate, repeat. + TEST_F(IoTest, FileIo) { + std::string filename = TestTempDir() + "/zero_copy_stream_test_file"; diff --git a/SPECS/protobuf.spec b/SPECS/protobuf.spec index 5e404fd..777c519 100644 --- a/SPECS/protobuf.spec +++ b/SPECS/protobuf.spec @@ -1,35 +1,29 @@ -# Build -python2 subpackage -%bcond_with python2 -# Build -python3 subpackage -%bcond_without python3 +# Build -python subpackage +%bcond_without python # Build -java subpackage %bcond_with java -%global emacs_version %(pkg-config emacs --modversion) -%global emacs_lispdir %(pkg-config emacs --variable sitepkglispdir) -%global emacs_startdir %(pkg-config emacs --variable sitestartdir) - #global rcver rc2 Summary: Protocol Buffers - Google's data interchange format Name: protobuf -Version: 3.5.0 -Release: 13%{?dist} +Version: 3.14.0 +Release: 6%{?dist} License: BSD -URL: https://github.com/google/protobuf -Source: https://github.com/google/protobuf/archive/v%{version}%{?rcver}/%{name}-%{version}%{?rcver}.tar.gz +URL: https://github.com/protocolbuffers/protobuf +Source: https://github.com/protocolbuffers/protobuf/archive/v%{version}%{?rcver}/%{name}-%{version}%{?rcver}-all.tar.gz Source1: ftdetect-proto.vim Source2: protobuf-init.el -# For tests -Source3: https://github.com/google/googlemock/archive/release-1.7.0.tar.gz#/googlemock-1.7.0.tar.gz -Source4: https://github.com/google/googletest/archive/release-1.7.0.tar.gz#/googletest-1.7.0.tar.gz -# Might be upstreamable, but for now temporary workaround -Patch0: 0001-fix-build-on-s390x.patch +# For tests (using exactly the same version as the release) +Source3: https://github.com/google/googletest/archive/5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.zip + +# https://github.com/protocolbuffers/protobuf/issues/8082 +Patch1: protobuf-3.14-disable-IoTest.LargeOutput.patch +BuildRequires: make BuildRequires: autoconf BuildRequires: automake -BuildRequires: emacs(bin) -BuildRequires: emacs-el >= 24.1 +BuildRequires: emacs BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig @@ -109,37 +103,13 @@ The "optimize_for = LITE_RUNTIME" option causes the compiler to generate code which only depends libprotobuf-lite, which is much smaller than libprotobuf but lacks descriptors, reflection, and some other features. -%if %{with python2} -%package -n python2-%{name} -Summary: Python 2 bindings for Google Protocol Buffers -BuildArch: noarch -BuildRequires: python2-devel -BuildRequires: python-setuptools -%if 0%{?fedora} -# For tests -BuildRequires: python-google-apputils -%endif -Requires: python-six >= 1.9 -Conflicts: %{name}-compiler > %{version} -Conflicts: %{name}-compiler < %{version} -Obsoletes: %{name}-python < 3.1.0-4 -Provides: %{name}-python = %{version}-%{release} -%{?python_provide:%python_provide python2-%{name}} - -%description -n python2-%{name} -This package contains Python 2 libraries for Google Protocol Buffers -%endif - -%if %{with python3} +%if %{with python} %package -n python%{python3_pkgversion}-%{name} Summary: Python 3 bindings for Google Protocol Buffers BuildArch: noarch BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -%if 0%{?fedora} -# For tests -BuildRequires: python%{python3_pkgversion}-google-apputils -%endif +BuildRequires: python%{python3_pkgversion}-wheel Requires: python%{python3_pkgversion}-six >= 1.9 Conflicts: %{name}-compiler > %{version} Conflicts: %{name}-compiler < %{version} @@ -159,25 +129,6 @@ Requires: vim-enhanced This package contains syntax highlighting for Google Protocol Buffers descriptions in Vim editor -%package emacs -Summary: Emacs mode for Google Protocol Buffers descriptions -BuildArch: noarch -Requires: emacs(bin) >= 0%{emacs_version} - -%description emacs -This package contains syntax highlighting for Google Protocol Buffers -descriptions in the Emacs editor. - -%package emacs-el -Summary: Elisp source files for Google protobuf Emacs mode -BuildArch: noarch -Requires: protobuf-emacs = %{version} - -%description emacs-el -This package contains the elisp source files for %{name}-emacs -under GNU Emacs. You do not need to install this package to use -%{name}-emacs. - %if %{with java} %package java @@ -194,10 +145,18 @@ BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.easymock:easymock) Conflicts: %{name}-compiler > %{version} Conflicts: %{name}-compiler < %{version} +Obsoletes: %{name}-javanano < 3.6.0 %description java This package contains Java Protocol Buffers runtime library. +%package javalite +Summary: Java Protocol Buffers lite runtime library +BuildArch: noarch + +%description javalite +This package contains Java Protocol Buffers lite runtime library. + %package java-util Summary: Utilities for Protocol Buffers BuildArch: noarch @@ -213,15 +172,6 @@ BuildArch: noarch %description javadoc This package contains the API documentation for %{name}-java. -%package javanano -Summary: Protocol Buffer JavaNano API -BuildArch: noarch - -%description javanano -JavaNano is a special code generator and runtime -library designed specially for resource-restricted -systems, like Android. - %package parent Summary: Protocol Buffer Parent POM BuildArch: noarch @@ -229,26 +179,50 @@ BuildArch: noarch %description parent Protocol Buffer Parent POM. +%package bom +Summary: Protocol Buffer BOM POM +BuildArch: noarch + +%description bom +Protocol Buffer BOM POM. + %endif +%package emacs +Summary: Emacs mode for Google Protocol Buffers descriptions +BuildArch: noarch +Requires: emacs-filesystem >= %{_emacs_version} +Obsoletes: protobuf-emacs-el < 3.6.1-4 + +%description emacs +This package contains syntax highlighting for Google Protocol Buffers +descriptions in the Emacs editor. + %prep -%setup -q -n %{name}-%{version}%{?rcver} -a 3 -a 4 -%autopatch -p1 -mv googlemock-release-1.7.0 gmock -mv googletest-release-1.7.0 gmock/gtest +%setup -q -n %{name}-%{version}%{?rcver} -a 3 +%ifarch %{ix86} armv7hl +# IoTest.LargeOutput fails on 32bit arches +# https://github.com/protocolbuffers/protobuf/issues/8082 +%patch1 -p1 +%endif +mv googletest-5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081/* third_party/googletest/ find -name \*.cc -o -name \*.h | xargs chmod -x chmod 644 examples/* %if %{with java} -%pom_remove_parent java/pom.xml -%pom_remove_dep org.easymock:easymockclassextension java/pom.xml java/*/pom.xml +%pom_remove_dep org.easymock:easymockclassextension java/pom.xml java/core/pom.xml java/lite/pom.xml java/util/pom.xml +%pom_remove_dep com.google.truth:truth java/pom.xml java/core/pom.xml java/lite/pom.xml java/util/pom.xml +%pom_remove_dep com.google.errorprone:error_prone_annotations java/util/pom.xml +%pom_remove_dep com.google.guava:guava-testlib java/pom.xml java/util/pom.xml # These use easymockclassextension rm java/core/src/test/java/com/google/protobuf/ServiceTest.java -#rm -r java/core/src/test - -# used by https://github.com/googlei18n/libphonenumber -%pom_xpath_inject "pom:project/pom:modules" "../javanano" java -%pom_remove_parent javanano -%pom_remove_dep org.easymock:easymockclassextension javanano +# These use truth or error_prone_annotations or guava-testlib +rm java/core/src/test/java/com/google/protobuf/LiteralByteStringTest.java +rm java/core/src/test/java/com/google/protobuf/BoundedByteStringTest.java +rm java/core/src/test/java/com/google/protobuf/RopeByteStringTest.java +rm java/core/src/test/java/com/google/protobuf/RopeByteStringSubstringTest.java +rm java/core/src/test/java/com/google/protobuf/TextFormatTest.java +rm -r java/util/src/test/java/com/google/protobuf/util +rm -r java/util/src/main/java/com/google/protobuf/util # Make OSGi dependency on sun.misc package optional %pom_xpath_inject "pom:configuration/pom:instructions" "sun.misc;resolution:=optional,*" java/core @@ -258,9 +232,11 @@ rm java/core/src/test/java/com/google/protobuf/ServiceTest.java # This test is incredibly slow on arm # https://github.com/google/protobuf/issues/2389 -%ifarch %{arm} +%ifarch %{arm} s390x mv java/core/src/test/java/com/google/protobuf/IsValidUtf8Test.java \ java/core/src/test/java/com/google/protobuf/IsValidUtf8Test.java.slow +mv java/core/src/test/java/com/google/protobuf/DecodeUtf8Test.java \ + java/core/src/test/java/com/google/protobuf/DecodeUtf8Test.java.slow %endif %endif @@ -273,53 +249,50 @@ export PTHREAD_LIBS="-lpthread" ./autogen.sh %configure -make %{?_smp_mflags} +# -Wno-error=type-limits: +# https://bugzilla.redhat.com/show_bug.cgi?id=1838470 +# https://github.com/protocolbuffers/protobuf/issues/7514 +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95148 +# (also set in %%check) +%make_build CXXFLAGS="%{build_cxxflags} -Wno-error=type-limits" -%if %{with python2} -pushd python -%py2_build -popd -%endif - -%if %{with python3} +%if %{with python} pushd python %py3_build popd %endif %if %{with java} +%ifarch s390x %{arm} +export MAVEN_OPTS=-Xmx1024m +%endif %mvn_build -s -- -f java/pom.xml %endif -emacs -batch -f batch-byte-compile editors/protobuf-mode.el +%{_emacs_bytecompile} editors/protobuf-mode.el + %check -# TODO: failures; get them fixed and remove || : -# https://github.com/google/protobuf/issues/631 -make %{?_smp_mflags} check || : +# Java tests fail on s390x +%ifarch s390x +fail=0 +%else +fail=1 +%endif +%make_build check CXXFLAGS="%{build_cxxflags} -Wno-error=type-limits" || exit $fail + %install -make %{?_smp_mflags} install DESTDIR=%{buildroot} STRIPBINARIES=no INSTALL="%{__install} -p" CPPROG="cp -p" +%make_install %{?_smp_mflags} STRIPBINARIES=no INSTALL="%{__install} -p" CPPROG="cp -p" find %{buildroot} -type f -name "*.la" -exec rm -f {} \; -%if %{with python2} -pushd python -#python ./setup.py install --root=%{buildroot} --single-version-externally-managed --record=INSTALLED_FILES --optimize=1 -%py2_install -find %{buildroot}%{python2_sitelib} -name \*.py | - xargs sed -i -e '1{\@^#!@d}' -popd -%endif - -%if %{with python3} +%if %{with python} pushd python -#python ./setup.py install --root=%{buildroot} --single-version-externally-managed --record=INSTALLED_FILES --optimize=1 %py3_install find %{buildroot}%{python3_sitelib} -name \*.py | xargs sed -i -e '1{\@^#!@d}' popd %endif - install -p -m 644 -D %{SOURCE1} %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/proto.vim install -p -m 644 -D editors/proto.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/proto.vim @@ -327,26 +300,26 @@ install -p -m 644 -D editors/proto.vim %{buildroot}%{_datadir}/vim/vimfiles/synt %mvn_install %endif -mkdir -p $RPM_BUILD_ROOT%{emacs_lispdir} -mkdir -p $RPM_BUILD_ROOT%{emacs_startdir} -install -p -m 0644 editors/protobuf-mode.el $RPM_BUILD_ROOT%{emacs_lispdir} -install -p -m 0644 editors/protobuf-mode.elc $RPM_BUILD_ROOT%{emacs_lispdir} -install -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{emacs_startdir} +mkdir -p %{buildroot}%{_emacs_sitelispdir}/%{name} +install -p -m 0644 editors/protobuf-mode.el %{buildroot}%{_emacs_sitelispdir}/%{name} +install -p -m 0644 editors/protobuf-mode.elc %{buildroot}%{_emacs_sitelispdir}/%{name} +mkdir -p %{buildroot}%{_emacs_sitestartdir} +install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir} %ldconfig_scriptlets %ldconfig_scriptlets lite %ldconfig_scriptlets compiler %files -%{_libdir}/libprotobuf.so.15* %doc CHANGES.txt CONTRIBUTORS.txt README.md %license LICENSE +%{_libdir}/libprotobuf.so.25* %files compiler -%{_bindir}/protoc -%{_libdir}/libprotoc.so.15* %doc README.md %license LICENSE +%{_bindir}/protoc +%{_libdir}/libprotoc.so.25* %files devel %dir %{_includedir}/google @@ -356,12 +329,16 @@ install -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{emacs_startdir} %{_libdir}/pkgconfig/protobuf.pc %doc examples/add_person.cc examples/addressbook.proto examples/list_people.cc examples/Makefile examples/README.md +%files emacs +%{_emacs_sitelispdir}/%{name}/ +%{_emacs_sitestartdir}/protobuf-init.el + %files static %{_libdir}/libprotobuf.a %{_libdir}/libprotoc.a %files lite -%{_libdir}/libprotobuf-lite.so.15* +%{_libdir}/libprotobuf-lite.so.25* %files lite-devel %{_libdir}/libprotobuf-lite.so @@ -370,22 +347,12 @@ install -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{emacs_startdir} %files lite-static %{_libdir}/libprotobuf-lite.a -%if %{with python2} -%files -n python2-protobuf -%dir %{python2_sitelib}/google -%{python2_sitelib}/google/protobuf/ -%{python2_sitelib}/protobuf-%{version}%{?rcver}-py2.?.egg-info/ -%{python2_sitelib}/protobuf-%{version}%{?rcver}-py2.?-nspkg.pth -%doc python/README.md -%doc examples/add_person.py examples/list_people.py examples/addressbook.proto -%endif - -%if %{with python3} +%if %{with python} %files -n python%{python3_pkgversion}-protobuf %dir %{python3_sitelib}/google %{python3_sitelib}/google/protobuf/ -%{python3_sitelib}/protobuf-%{version}%{?rcver}-py3.?.egg-info/ -%{python3_sitelib}/protobuf-%{version}%{?rcver}-py3.?-nspkg.pth +%{python3_sitelib}/protobuf-%{version}%{?rcver}-py3.*.egg-info/ +%{python3_sitelib}/protobuf-%{version}%{?rcver}-py3.*-nspkg.pth %doc python/README.md %doc examples/add_person.py examples/list_people.py examples/addressbook.proto %endif @@ -394,13 +361,6 @@ install -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{emacs_startdir} %{_datadir}/vim/vimfiles/ftdetect/proto.vim %{_datadir}/vim/vimfiles/syntax/proto.vim -%files emacs -%{emacs_startdir}/protobuf-init.el -%{emacs_lispdir}/protobuf-mode.elc - -%files emacs-el -%{emacs_lispdir}/protobuf-mode.el - %if %{with java} %files java -f .mfiles-protobuf-java %doc examples/AddPerson.java examples/ListPeople.java @@ -412,32 +372,105 @@ install -p -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{emacs_startdir} %files javadoc -f .mfiles-javadoc %license LICENSE -%files javanano -f .mfiles-protobuf-javanano -%doc javanano/README.md +%files parent -f .mfiles-protobuf-parent %license LICENSE -%files parent -f .mfiles-protobuf-parent +%files bom -f .mfiles-protobuf-bom +%license LICENSE + +%files javalite -f .mfiles-protobuf-javalite %license LICENSE %endif + %changelog -* Thu May 28 2020 Adrian Reber - 3.5.0-13 -- Rebuild +* Fri Jul 23 2021 Fedora Release Engineering - 3.14.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 3.14.0-5 +- Rebuilt for Python 3.10 + +* Thu May 06 2021 Adrian Reber - 3.14.0-4 +- Reintroduce the emacs subpackage to avoid file conflicts between + protobuf-compiler.x86_64 and protobuf-compiler.i686 + +* Tue Mar 30 2021 Jonathan Wakely - 3.14.0-3 +- Rebuilt for removed libstdc++ symbol (#1937698) + +* Wed Jan 27 2021 Fedora Release Engineering - 3.14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 04 2021 Adrian Reber - 3.14.0-1 +- Update to 3.14.0 + +* Wed Aug 26 2020 Charalampos Stratakis - 3.13.0-1 +- Update to 3.13.0 + +* Sat Aug 01 2020 Fedora Release Engineering - 3.12.3-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3.12.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jul 11 2020 Jiri Vanek - 3.12.3-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Fri Jun 19 2020 Adrian Reber - 3.12.3-2 +- Update to 3.12.3 + +* Tue May 26 2020 Miro Hrončok - 3.11.4-2 +- Rebuilt for Python 3.9 + +* Tue Mar 31 2020 Adrian Reber - 3.11.4-1 +- Update to 3.11.4 + +* Thu Jan 30 2020 Fedora Release Engineering - 3.11.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Dec 18 2019 Adrian Reber - 3.11.2-1 +- Update to 3.11.2 + +* Tue Nov 19 2019 Miro Hrončok - 3.6.1-9 +- Drop python2-protobuf (#1765879) + +* Sat Oct 26 2019 Orion Poplawski - 3.6.1-8 +- Drop obsolete BR on python-google-apputils + +* Thu Oct 03 2019 Miro Hrončok - 3.6.1-7 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 3.6.1-6 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 3.6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed May 8 2019 Orion Poplawski - 3.6.1-4 +- Update emacs packaging to comply with guidelines + +* Wed Feb 27 2019 Orion Poplawski - 3.6.1-3 +- Update googletest to 1.8.1 to re-enable tests + +* Sat Feb 02 2019 Fedora Release Engineering - 3.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild -* Tue May 26 2020 Adrian Reber - 3.5.0-10 -- Rebuild +* Tue Oct 23 2018 Felix Kaechele - 3.6.1-1 +- update to 3.6.1 +- obsolete javanano subpackage; discontinued upstream -* Thu Apr 09 2020 Adrian Reber - 3.5.0-8 -- Rebuild +* Fri Jul 27 2018 Igor Gnatenko - 3.5.0-8 +- Rebuild for new binutils -* Thu Jul 12 2018 Adrian Reber - 3.5.0-7 -- Build without python2 subpackage +* Fri Jul 13 2018 Fedora Release Engineering - 3.5.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild -* Wed Jun 20 2018 Adrian Reber - 3.5.0-6 -- Only BR python-google-apputils on Fedora +* Tue Jun 19 2018 Miro Hrončok - 3.5.0-6 +- Rebuilt for Python 3.7 -* Wed May 30 2018 Mikolaj Izdebski - 3.5.0-5 -- Build without -java supbackage +* Wed Feb 21 2018 Iryna Shcherbina - 3.5.0-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) * Fri Feb 09 2018 Igor Gnatenko - 3.5.0-4 - Escape macros in %%changelog