diff options
author | CoprDistGit <infra@openeuler.org> | 2025-09-22 12:52:08 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-09-22 12:52:08 +0000 |
commit | 62193eb291a15f336c66a3e3eb1f95b94fc0d022 (patch) | |
tree | 97229163558c23c22ced9d1499e901dd68126bdf /protobuf.spec | |
parent | 7572f9f90d38d06d944a23a0f5672962ae7b83b6 (diff) |
automatic import of protobuf
Diffstat (limited to 'protobuf.spec')
-rw-r--r-- | protobuf.spec | 232 |
1 files changed, 50 insertions, 182 deletions
diff --git a/protobuf.spec b/protobuf.spec index 287ccd9..ea43bab 100644 --- a/protobuf.spec +++ b/protobuf.spec @@ -1,34 +1,25 @@ -#needsrootforbuild -%undefine __cmake_in_source_build - -%define _lto_cflags %{nil} - # Build -python subpackage %bcond_without python # Build -java subpackage -%ifarch loongarch64 -%bcond_with java -%else %bcond_without java -%endif + +#global rcver rc2 Summary: Protocol Buffers - Google's data interchange format Name: protobuf Version: 32.1 Release: 12 -License: BSD-3-Clause +License: BSD URL: https://github.com/protocolbuffers/protobuf Source: https://github.com/protocolbuffers/protobuf/releases/download/v%{version}%{?rcver}/%{name}-%{version}%{?rcver}.tar.gz Source1: protobuf-init.el -%global so_version 32.1 -Patch9000: 0001-add-secure-compile-option.patch -Patch9001: 0002-Fix-CC-compiler-support.patch -Patch9002: 0003-protobuf-add-coverage-compile-option.patch +Patch9000: 0001-add-secure-compile-option-in-Makefile.patch +Patch9001: 0002-add-secure-compile-fs-check-in-Makefile.patch +Patch9003: 0004-Improve-performance-of-parsing-unknown-fields-in-Jav.patch +Patch9006: 0007-add-coverage-compile-option.patch -BuildRequires: cmake gcc-c++ emacs zlib-devel gmock-devel gtest-devel jsoncpp-devel -BuildRequires: fdupes pkgconfig python-rpm-macros pkgconfig(zlib) ninja-build -BuildRequires: abseil-cpp-devel >= 20230802 +BuildRequires: make autoconf automake emacs gcc-c++ libtool pkgconfig zlib-devel %description @@ -53,7 +44,6 @@ Summary: Protocol Buffers C++ headers and libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-compiler = %{version}-%{release} Requires: zlib-devel pkgconfig vim-enhanced -Requires: abseil-cpp-devel >= 20230802 Provides: %{name}-static Provides: %{name}-vim Obsoletes: %{name}-static < %{version} @@ -116,25 +106,15 @@ This package contains Python 3 libraries for Google Protocol Buffers %package java Summary: Java Protocol Buffers runtime library BuildArch: noarch -BuildRequires: java-devel >= 1.6 -BuildRequires: jpackage-utils -BuildRequires: maven-local -BuildRequires: mvn(com.google.code.gson:gson) -BuildRequires: mvn(com.google.guava:guava) -BuildRequires: mvn(junit:junit) -BuildRequires: mvn(org.easymock:easymock) -BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) -BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) -BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin) -BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) -BuildRequires: maven-compiler-plugin -BuildRequires: maven-install-plugin -BuildRequires: maven-jar-plugin -BuildRequires: maven-javadoc-plugin -BuildRequires: maven-release-plugin -BuildRequires: maven-resources-plugin -BuildRequires: maven-surefire-plugin -BuildRequires: maven-antrun-plugin +BuildRequires: maven-local +BuildRequires: mvn(com.google.code.gson:gson) +BuildRequires: mvn(com.google.guava:guava) +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin) +BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) +BuildRequires: mvn(org.easymock:easymock) Obsoletes: %{name}-javanano < 3.6.0 %description java @@ -182,18 +162,14 @@ Protocol Buffer BOM POM. %setup -q -n %{name}-%{version}%{?rcver} %autopatch -p1 find -name \*.cc -o -name \*.h | xargs chmod -x -find examples -type f | xargs chmod 644 +chmod 644 examples/* %if %{with java} #%pom_remove_dep com.google.truth:truth 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 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/util/pom.xml java/lite/pom.xml java/core/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 -%pom_remove_dep com.google.j2objc:j2objc-annotations java/util/pom.xml - -%pom_remove_plugin org.codehaus.mojo:animal-sniffer-maven-plugin java/pom.xml java/util/pom.xml -%pom_remove_dep org.mockito:mockito-core java/pom.xml java/core/pom.xml java/lite/pom.xml java/util/pom.xml # These use easymockclassextension rm java/core/src/test/java/com/google/protobuf/ServiceTest.java @@ -230,63 +206,26 @@ mv java/core/src/test/java/com/google/protobuf/DecodeUtf8Test.java \ rm -f src/solaris/libstdc++.la %build -%cmake \ - -B build \ - -Dprotobuf_BUILD_EXAMPLES:BOOL=OFF \ - -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ - -Dprotobuf_BUILD_SHARED_LIBS:BOOL=ON \ - -Dprotobuf_USE_EXTERNAL_GTEST:BOOL=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_TESTS:BOOL=OFF \ - -DCMAKE_EXE_LINKER_FLAGS="%{build_ldflags}" \ - -DCMAKE_SHARED_LINKER_FLAGS="%{build_ldflags}" \ - -DCMAKE_CXX_FLAGS="%{build_cxxflags} %{?_ld_as_needed_flags}" \ - -DCMAKE_C_COMPILER=%{__cc} \ - -DCMAKE_CXX_COMPILER=%{__cxx} \ - -DCMAKE_SKIP_RPATH=TRUE \ - -G Ninja - -%ninja_build -C build - -%cmake \ - -B build-static \ - -Dprotobuf_BUILD_EXAMPLES:BOOL=OFF \ - -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ - -Dprotobuf_BUILD_SHARED_LIBS:BOOL=OFF \ - -Dprotobuf_USE_EXTERNAL_GTEST:BOOL=ON \ - -Dprotobuf_ABSL_PROVIDER=package \ - -Dprotobuf_BUILD_TESTS:BOOL=OFF \ - -DCMAKE_CXX_FLAGS="-fPIC" \ - -DCMAKE_C_COMPILER=%{__cc} \ - -DCMAKE_CXX_COMPILER=%{__cxx} \ - -DCMAKE_SKIP_RPATH=TRUE \ - -G Ninja - -%ninja_build -C build-static - -# we have to override LD_LIBRARY_PATH because we eliminated rpath -export LD_LIBRARY_PATH="${PWD}/build":$LD_LIBRARY_PATH +iconv -f iso8859-1 -t utf-8 CONTRIBUTORS.txt > CONTRIBUTORS.txt.utf8 +mv CONTRIBUTORS.txt.utf8 CONTRIBUTORS.txt +export PTHREAD_LIBS="-lpthread" +./autogen.sh +%configure +%make_build CXXFLAGS="%{build_cxxflags} -Wno-error=type-limits" %if %{with python} -# Use the just built protoc instead of any -# system version for python and/or java bindings -export PROTOC=../build/protoc pushd python -CXXFLAGS="%{build_cxxflags}" \ -LDFLAGS="-L../%{_vpath_builddir} -L../%{_vpath_builddir}/third_party/utf8_range %{build_ldflags}" \ %py3_build popd %endif %if %{with java} -cp build/protoc ./ -%pom_disable_module kotlin java/pom.xml -%pom_disable_module kotlin-lite java/pom.xml -%mvn_build -s -- -Dmaven.test.skip=true -f java/pom.xml +%mvn_build -s -- -f java/pom.xml %endif %{_emacs_bytecompile} editors/protobuf-mode.el + %check # Java tests fail on s390x %ifarch s390x @@ -294,16 +233,15 @@ fail=0 %else fail=1 %endif +%make_build check CXXFLAGS="%{build_cxxflags} -Wno-error=type-limits" || exit $fail %install -%ninja_install -C build-static -%ninja_install -C build +%make_install %{?_smp_mflags} STRIPBINARIES=no INSTALL="%{__install} -p" CPPROG="cp -p" +find %{buildroot} -type f -name "*.la" -exec rm -f {} \; %if %{with python} pushd python -CXXFLAGS="%{build_cxxflags}" \ -LDFLAGS="-L../%{_vpath_builddir} -L../%{_vpath_builddir}/third_party/utf8_range %{build_ldflags}" \ #python ./setup.py install --root=%{buildroot} --single-version-externally-managed --record=INSTALLED_FILES --optimize=1 %py3_install find %{buildroot}%{python3_sitelib} -name \*.py | @@ -322,40 +260,37 @@ install -p -m 0644 editors/protobuf-mode.elc %{buildroot}%{_emacs_sitelispdir}/% mkdir -p %{buildroot}%{_emacs_sitestartdir} install -p -m 0644 %{SOURCE1} %{buildroot}%{_emacs_sitestartdir} +%ldconfig_scriptlets +%ldconfig_scriptlets lite +%ldconfig_scriptlets compiler + %files -%doc CONTRIBUTORS.txt README.md +%doc CHANGES.txt CONTRIBUTORS.txt README.md %license LICENSE -%{_libdir}/libprotobuf.so.%{so_version}{,.*} +%{_libdir}/libprotobuf.so.25* %files compiler -%{_bindir}/protoc* -%{_libdir}/libprotoc.so.%{so_version}{,.*} +%{_bindir}/protoc +%{_libdir}/libprotoc.so.25* %{_emacs_sitelispdir}/%{name}/ %{_emacs_sitestartdir}/protobuf-init.el %license LICENSE %doc README.md + %files devel %dir %{_includedir}/google %{_includedir}/google/protobuf/ -%{_includedir}/utf8_range.h -%{_includedir}/utf8_validity.h %{_libdir}/libprotobuf.so %{_libdir}/libprotoc.so %{_libdir}/pkgconfig/protobuf.pc -%{_libdir}/pkgconfig/utf8_range.pc %doc examples/add_person.cc examples/addressbook.proto examples/list_people.cc examples/Makefile examples/README.md %{_libdir}/libprotobuf.a %{_libdir}/libprotoc.a %{_datadir}/vim/vimfiles/syntax/proto.vim -%{_libdir}/cmake/utf8_range -%{_libdir}/cmake/protobuf -%{_libdir}/libutf8_range.a -%{_libdir}/libutf8_validity.a -%{_includedir}/java/core/src/main/java/com/google/protobuf/java_features.proto %files lite -%{_libdir}/libprotobuf-lite.so.%{so_version}{,.*} +%{_libdir}/libprotobuf-lite.so.25* %files lite-devel %{_libdir}/libprotobuf-lite.so @@ -366,8 +301,8 @@ install -p -m 0644 %{SOURCE1} %{buildroot}%{_emacs_sitestartdir} %files -n python%{python3_pkgversion}-protobuf %dir %{python3_sitelib}/google %{python3_sitelib}/google/protobuf/ -%{python3_sitelib}/%{name}-*-py3.*.egg-info/ -%{python3_sitelib}/%{name}-*-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 @@ -377,7 +312,6 @@ install -p -m 0644 %{SOURCE1} %{buildroot}%{_emacs_sitestartdir} %doc examples/AddPerson.java examples/ListPeople.java %doc java/README.md %license LICENSE -%{_includedir}/java/core/src/main/java/com/google/protobuf/java_features.proto %files java-util -f .mfiles-protobuf-java-util @@ -401,86 +335,20 @@ install -p -m 0644 %{SOURCE1} %{buildroot}%{_emacs_sitestartdir} - SUG:NA - DESC: update -* Thu June 26 2025 zhongtao <zhongtao17@huawei.com> - 25.1-12 +* Fri June 27 2025 zhongtao <zhongtao17@huawei.com> - 3.14.0-9 - Type:bugfix - ID:NA - SUG:NA -- DESC: append fix CVE-2025-4565 +- DESC: fix CVE-2025-4565 -* Wed Jun 11 2025 Dongxing Wang <dongxing.wang_a@thundersoft.com> - 25.1-11 -- Type:bugfix -- CVE:NA -- SUG:NA -- DESC: revert:distinguish between statically and dynamically compiled cmake dir to prevent BEP binary differences +* Wed Dec 06 2023 konglidong <konglidong@uniontech.com> - 3.14.0-8 +- obsolets protobuf2 for fix install conflict -* Thu May 15 2025 zhongtao <zhongtao17@huawei.com> - 25.1-10 -- Type:bugfix -- CVE:NA -- SUG:NA -- DESC: distinguish between statically and dynamically compiled cmake dir to prevent BEP binary differences - -* Fri May 09 2025 zhongtao <zhongtao17@huawei.com> - 25.1-9 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: distinguish between statically and dynamically compiled pc files to prevent BEP binary differences - -* Thu Nov 14 2024 Funda Wang <fundawang@yeah.net> - 25.1-8 -- adopt to new cmake macro - -* Wed Sep 25 2024 zhangxianting <zhangxianting@uniontech.com> - 25.1-7 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: append fix CVE-2024-7254 - -* Thu Sep 19 2024 zhangxianting <zhangxianting@uniontech.com> - 25.1-6 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: fix CVE-2024-7254 - -* Mon Aug 05 2024 zhongtao <zhongtao17@huawei.com> - 25.1-5 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: bugfix for devel package packaging file differences - -* Thu Jul 25 2024 zhongtao <zhongtao17@huawei.com> - 25.1-4 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add coverage compile option - -* Mon Apr 15 2024 Wenlong Zhang <zhangwenlong@loongson.cn> - 25.1-4 -- disable java for loongarch64 - -* Tue Apr 09 2024 zhongtao <zhongtao17@huawei.com> - 25.1-3 -- Type:bugfix -- ID:NA -- SUG:NA -- DESC: add secure complie option and code improve - -* Wed Mar 20 2024 wangqiang <wangqiang1@kylinos.cn> - 25.1-2 -- Support package build with clang - -* Wed Jan 10 2024 zhongtao <zhongtao17@huawei.com> - 25.1-1 -- Type:upgrade -- ID:NA -- SUG:NA -- DESC: update to 25.1 - -* Wed Dec 06 2023 konglidong <konglidong@uniontech.com> - 3.19.6-2 +* Mon Nov 21 2022 chengzeruizhi <chengzeruizhi@huawei.com> - 3.14.0-7 - Type:enhancement -- ID:NA -- SUG:NA -- DESC: obsolets protobuf2 for fix install conflict - -* Mon Jul 17 2023 zhongtao <zhongtao17@huawei.com> - 3.19.6-1 -- Type:upgrade -- ID:NA -- SUG:NA -- DESC: update to 3.19.6 +- ID:NA +- SUG:NA +- DESC: add compile option for coverage * Tue Oct 18 2022 chengzeruizhi <chengzeruizhi@huawei.com> - 3.14.0-6 - Type:bugfix |