summaryrefslogtreecommitdiff
path: root/protobuf.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-09-22 12:52:08 +0000
committerCoprDistGit <infra@openeuler.org>2025-09-22 12:52:08 +0000
commit62193eb291a15f336c66a3e3eb1f95b94fc0d022 (patch)
tree97229163558c23c22ced9d1499e901dd68126bdf /protobuf.spec
parent7572f9f90d38d06d944a23a0f5672962ae7b83b6 (diff)
automatic import of protobuf
Diffstat (limited to 'protobuf.spec')
-rw-r--r--protobuf.spec232
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