Compare commits
53 Commits
master
...
f38-riscv6
Author | SHA1 | Date |
---|---|---|
David Abdurachmanov | 3fd6f7c8cf | |
Fedora Release Engineering | cad8fd9101 | |
Benjamin A. Beasley | b744f0ae20 | |
Benjamin A. Beasley | 36c08e98b6 | |
Benjamin A. Beasley | 80670d4cdb | |
Benjamin A. Beasley | d6f4a56b7e | |
Benjamin A. Beasley | 0fce2f1ffc | |
Benjamin A. Beasley | e944fe2238 | |
Benjamin A. Beasley | 0271877f01 | |
Benjamin A. Beasley | b75731146e | |
Benjamin A. Beasley | 75a32b0a07 | |
Benjamin A. Beasley | 2674c81c49 | |
Benjamin A. Beasley | dc55af4fa6 | |
Benjamin A. Beasley | b85016d121 | |
Benjamin A. Beasley | b2cd8fe8e8 | |
Benjamin A. Beasley | 2036d34972 | |
Benjamin A. Beasley | e328028233 | |
Benjamin A. Beasley | 7cbfd6ac54 | |
Benjamin A. Beasley | c0cef1e088 | |
Benjamin A. Beasley | 2012fba6ee | |
Orion Poplawski | 6c8d4c7752 | |
Fedora Release Engineering | 5d9cabe4c0 | |
Benjamin A. Beasley | b1fe3d640f | |
Benjamin A. Beasley | a1089423b3 | |
Python Maint | fd911b3964 | |
Mamoru TASAKA | 26e8f8ada1 | |
Orion Poplawski | 73fd95e79a | |
Jiri | d4af42c144 | |
Fedora Release Engineering | 46b9f555f1 | |
Orion Poplawski | e691b11a84 | |
Adrian Reber | 0a195a154c | |
Adrian Reber | 3b4dc1e6a5 | |
Orion Poplawski | d6917b5fff | |
Orion Poplawski | 08e46e3afb | |
Major Hayden | 73ba13a4e9 | |
Adrian Reber | 1acae29591 | |
Orion Poplawski | 76e9c65504 | |
Fedora Release Engineering | 998c183081 | |
Python Maint | f1d9af006f | |
Adrian Reber | 1812650a0a | |
Jonathan Wakely | 4b6c0e2162 | |
Fedora Release Engineering | 9df5d76ad5 | |
Adrian Reber | 21c6d24bb0 | |
Adrian Reber | b888e7357d | |
Tom Stellard | 3e487ec7b6 | |
Charalampos Stratakis | 16834f0855 | |
Fedora Release Engineering | 418ca1e976 | |
Fedora Release Engineering | 441cfe8c7d | |
Jiri | 46b9594afd | |
Adrian Reber | 9059bd58f0 | |
Adrian Reber | cf97169a12 | |
Miro Hrončok | bec19057a1 | |
Miro Hrončok | 650c7fb4cc |
|
@ -16,3 +16,13 @@ protobuf-2.3.0.tar.bz2
|
|||
/protobuf-3.11.2-all.tar.gz
|
||||
/5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.zip
|
||||
/protobuf-3.11.4-all.tar.gz
|
||||
/protobuf-3.12.3-all.tar.gz
|
||||
/protobuf-3.13.0-all.tar.gz
|
||||
/protobuf-3.14.0-all.tar.gz
|
||||
/protobuf-3.18.1-all.tar.gz
|
||||
/protobuf-3.19.0-all.tar.gz
|
||||
/protobuf-3.19.4-all.tar.gz
|
||||
/googletest-0e402173c97aea7a00749e825b194bfede4f2e45.tar.gz
|
||||
/googletest-5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.tar.gz
|
||||
/protobuf-3.19.5-all.tar.gz
|
||||
/protobuf-3.19.6-all.tar.gz
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
--- src/google/protobuf/any_test.cc 2021-10-22 08:52:03.604280348 +0200
|
||||
+++ src/google/protobuf/any_test.cc.orig 2021-10-22 08:51:46.935156306 +0200
|
||||
@@ -60,13 +60,6 @@
|
||||
EXPECT_EQ(12345, submessage.int32_value());
|
||||
}
|
||||
|
||||
-TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {
|
||||
- protobuf_unittest::TestAny submessage;
|
||||
- submessage.mutable_text()->resize(INT_MAX, 'a');
|
||||
- protobuf_unittest::TestAny message;
|
||||
- EXPECT_FALSE(message.mutable_any_value()->PackFrom(submessage));
|
||||
-}
|
||||
-
|
||||
TEST(AnyTest, TestUnpackWithTypeMismatch) {
|
||||
protobuf_unittest::TestAny payload;
|
||||
payload.set_int32_value(13);
|
||||
--- src/google/protobuf/arena_unittest.cc 2021-10-22 08:52:37.804534886 +0200
|
||||
+++ src/google/protobuf/arena_unittest.cc.orig 2021-10-22 08:51:55.150217437 +0200
|
||||
@@ -1341,34 +1341,6 @@
|
||||
// Align n to next multiple of 8
|
||||
uint64_t Align8(uint64_t n) { return (n + 7) & -8; }
|
||||
|
||||
-TEST(ArenaTest, SpaceAllocated_and_Used) {
|
||||
- Arena arena_1;
|
||||
- EXPECT_EQ(0, arena_1.SpaceAllocated());
|
||||
- EXPECT_EQ(0, arena_1.SpaceUsed());
|
||||
- EXPECT_EQ(0, arena_1.Reset());
|
||||
- Arena::CreateArray<char>(&arena_1, 320);
|
||||
- // Arena will allocate slightly more than 320 for the block headers.
|
||||
- EXPECT_LE(320, arena_1.SpaceAllocated());
|
||||
- EXPECT_EQ(Align8(320), arena_1.SpaceUsed());
|
||||
- EXPECT_LE(320, arena_1.Reset());
|
||||
-
|
||||
- // Test with initial block.
|
||||
- std::vector<char> arena_block(1024);
|
||||
- ArenaOptions options;
|
||||
- options.start_block_size = 256;
|
||||
- options.max_block_size = 8192;
|
||||
- options.initial_block = &arena_block[0];
|
||||
- options.initial_block_size = arena_block.size();
|
||||
- Arena arena_2(options);
|
||||
- EXPECT_EQ(1024, arena_2.SpaceAllocated());
|
||||
- EXPECT_EQ(0, arena_2.SpaceUsed());
|
||||
- EXPECT_EQ(1024, arena_2.Reset());
|
||||
- Arena::CreateArray<char>(&arena_2, 55);
|
||||
- EXPECT_EQ(1024, arena_2.SpaceAllocated());
|
||||
- EXPECT_EQ(Align8(55), arena_2.SpaceUsed());
|
||||
- EXPECT_EQ(1024, arena_2.Reset());
|
||||
-}
|
||||
-
|
||||
TEST(ArenaTest, BlockSizeDoubling) {
|
||||
Arena arena;
|
||||
EXPECT_EQ(0, arena.SpaceUsed());
|
||||
@@ -1368,22 +1396,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-TEST(ArenaTest, BlockSizeSmallerThanAllocation) {
|
||||
- for (size_t i = 0; i <= 8; ++i) {
|
||||
- ArenaOptions opt;
|
||||
- opt.start_block_size = opt.max_block_size = i;
|
||||
- Arena arena(opt);
|
||||
-
|
||||
- *Arena::Create<int64_t>(&arena) = 42;
|
||||
- EXPECT_GE(arena.SpaceAllocated(), 8);
|
||||
- EXPECT_EQ(8, arena.SpaceUsed());
|
||||
-
|
||||
- *Arena::Create<int64_t>(&arena) = 42;
|
||||
- EXPECT_GE(arena.SpaceAllocated(), 16);
|
||||
- EXPECT_EQ(16, arena.SpaceUsed());
|
||||
- }
|
||||
-}
|
||||
-
|
||||
TEST(ArenaTest, GetArenaShouldReturnTheArenaForArenaAllocatedMessages) {
|
||||
Arena arena;
|
||||
ArenaMessage* message = Arena::CreateMessage<ArenaMessage>(&arena);
|
|
@ -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<int>::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";
|
|
@ -0,0 +1,10 @@
|
|||
--- protobuf-3.19.4/java/pom.xml.jre17 2022-02-13 11:45:39.367028268 +0900
|
||||
+++ protobuf-3.19.4/java/pom.xml 2022-02-13 12:43:18.212542147 +0900
|
||||
@@ -37,6 +37,7 @@
|
||||
<test.proto.dir>src/test/proto</test.proto.dir>
|
||||
<generated.sources.dir>${project.build.directory}/generated-sources</generated.sources.dir>
|
||||
<generated.testsources.dir>${project.build.directory}/generated-test-sources</generated.testsources.dir>
|
||||
+ <argLine>--add-opens java.base/java.lang=ALL-UNNAMED</argLine>
|
||||
</properties>
|
||||
|
||||
<licenses>
|
|
@ -0,0 +1,135 @@
|
|||
From 5576f98f5d6aa0cc1e845a5fe5d00c034ef51f30 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Shadchin <alexandr.shadchin@gmail.com>
|
||||
Date: Sun, 14 Aug 2022 21:13:49 +0300
|
||||
Subject: [PATCH] Fix build with Python 3.11
|
||||
|
||||
The PyFrameObject structure members have been removed from the public C API.
|
||||
---
|
||||
python/google/protobuf/pyext/descriptor.cc | 75 ++++++++++++++++++----
|
||||
1 file changed, 62 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/python/google/protobuf/pyext/descriptor.cc b/python/google/protobuf/pyext/descriptor.cc
|
||||
index a2993d908..44d811923 100644
|
||||
--- a/python/google/protobuf/pyext/descriptor.cc
|
||||
+++ b/python/google/protobuf/pyext/descriptor.cc
|
||||
@@ -57,6 +57,37 @@
|
||||
: 0) \
|
||||
: PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
|
||||
|
||||
+#if PY_VERSION_HEX < 0x030900B1 && !defined(PYPY_VERSION)
|
||||
+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
|
||||
+{
|
||||
+ Py_INCREF(frame->f_code);
|
||||
+ return frame->f_code;
|
||||
+}
|
||||
+
|
||||
+static PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
|
||||
+{
|
||||
+ Py_XINCREF(frame->f_back);
|
||||
+ return frame->f_back;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#if PY_VERSION_HEX < 0x030B00A7 && !defined(PYPY_VERSION)
|
||||
+static PyObject* PyFrame_GetLocals(PyFrameObject *frame)
|
||||
+{
|
||||
+ if (PyFrame_FastToLocalsWithError(frame) < 0) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ Py_INCREF(frame->f_locals);
|
||||
+ return frame->f_locals;
|
||||
+}
|
||||
+
|
||||
+static PyObject* PyFrame_GetGlobals(PyFrameObject *frame)
|
||||
+{
|
||||
+ Py_INCREF(frame->f_globals);
|
||||
+ return frame->f_globals;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
namespace google {
|
||||
namespace protobuf {
|
||||
namespace python {
|
||||
@@ -95,48 +126,66 @@ bool _CalledFromGeneratedFile(int stacklevel) {
|
||||
// This check is not critical and is somewhat difficult to implement correctly
|
||||
// in PyPy.
|
||||
PyFrameObject* frame = PyEval_GetFrame();
|
||||
+ PyCodeObject* frame_code = nullptr;
|
||||
+ PyObject* frame_globals = nullptr;
|
||||
+ PyObject* frame_locals = nullptr;
|
||||
+ bool result = false;
|
||||
+
|
||||
if (frame == NULL) {
|
||||
- return false;
|
||||
+ goto exit;
|
||||
}
|
||||
+ Py_INCREF(frame);
|
||||
while (stacklevel-- > 0) {
|
||||
- frame = frame->f_back;
|
||||
+ PyFrameObject* next_frame = PyFrame_GetBack(frame);
|
||||
+ Py_DECREF(frame);
|
||||
+ frame = next_frame;
|
||||
if (frame == NULL) {
|
||||
- return false;
|
||||
+ goto exit;
|
||||
}
|
||||
}
|
||||
|
||||
- if (frame->f_code->co_filename == NULL) {
|
||||
- return false;
|
||||
+ frame_code = PyFrame_GetCode(frame);
|
||||
+ if (frame_code->co_filename == NULL) {
|
||||
+ goto exit;
|
||||
}
|
||||
char* filename;
|
||||
Py_ssize_t filename_size;
|
||||
- if (PyString_AsStringAndSize(frame->f_code->co_filename,
|
||||
+ if (PyString_AsStringAndSize(frame_code->co_filename,
|
||||
&filename, &filename_size) < 0) {
|
||||
// filename is not a string.
|
||||
PyErr_Clear();
|
||||
- return false;
|
||||
+ goto exit;
|
||||
}
|
||||
if ((filename_size < 3) ||
|
||||
(strcmp(&filename[filename_size - 3], ".py") != 0)) {
|
||||
// Cython's stack does not have .py file name and is not at global module
|
||||
// scope.
|
||||
- return true;
|
||||
+ result = true;
|
||||
+ goto exit;
|
||||
}
|
||||
if (filename_size < 7) {
|
||||
// filename is too short.
|
||||
- return false;
|
||||
+ goto exit;
|
||||
}
|
||||
if (strcmp(&filename[filename_size - 7], "_pb2.py") != 0) {
|
||||
// Filename is not ending with _pb2.
|
||||
- return false;
|
||||
+ goto exit;
|
||||
}
|
||||
|
||||
- if (frame->f_globals != frame->f_locals) {
|
||||
+ frame_globals = PyFrame_GetGlobals(frame);
|
||||
+ frame_locals = PyFrame_GetLocals(frame);
|
||||
+ if (frame_globals != frame_locals) {
|
||||
// Not at global module scope
|
||||
- return false;
|
||||
+ goto exit;
|
||||
}
|
||||
#endif
|
||||
- return true;
|
||||
+ result = true;
|
||||
+exit:
|
||||
+ Py_XDECREF(frame_globals);
|
||||
+ Py_XDECREF(frame_locals);
|
||||
+ Py_XDECREF(frame_code);
|
||||
+ Py_XDECREF(frame);
|
||||
+ return result;
|
||||
}
|
||||
|
||||
// If the calling code is not a _pb2.py file, raise AttributeError.
|
||||
--
|
||||
2.38.1
|
||||
|
351
protobuf.spec
351
protobuf.spec
|
@ -1,30 +1,122 @@
|
|||
# Build -python subpackage
|
||||
%bcond_without python
|
||||
# Build -python subpackage with C++. This significantly improves performance
|
||||
# compared to the pure-Python implementation.
|
||||
%bcond_without python_cpp
|
||||
# Build -java subpackage
|
||||
%ifnarch riscv64
|
||||
%ifarch %{java_arches}
|
||||
%bcond_without java
|
||||
%else
|
||||
%bcond_with java
|
||||
%endif
|
||||
%endif
|
||||
|
||||
#global rcver rc2
|
||||
|
||||
Summary: Protocol Buffers - Google's data interchange format
|
||||
Name: protobuf
|
||||
Version: 3.11.4
|
||||
Release: 1%{?dist}
|
||||
License: BSD
|
||||
# NOTE: perl-Alien-ProtoBuf has an exact-version dependency on the version of
|
||||
# protobuf with which it was built; it therefore needs to be rebuilt even for
|
||||
# “patch” updates of protobuf.
|
||||
Version: 3.19.6
|
||||
%global so_version 30
|
||||
Release: 2.0.riscv64%{?dist}
|
||||
|
||||
# The entire source is BSD-3-Clause, except the following files, which belong
|
||||
# to the build system; are unpackaged maintainer utility scripts; or are used
|
||||
# only for building tests that are not packaged—and so they do not affect the
|
||||
# licenses of the binary RPMs:
|
||||
#
|
||||
# FSFAP:
|
||||
# m4/ax_cxx_compile_stdcxx.m4
|
||||
# m4/ax_prog_cc_for_build.m4
|
||||
# m4/ax_prog_cxx_for_build.m4
|
||||
# Apache-2.0:
|
||||
# python/mox.py
|
||||
# python/stubout.py
|
||||
# third_party/googletest/
|
||||
# except the following, which are BSD-3-Clause:
|
||||
# third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc
|
||||
# third_party/googletest/googletest/include/gtest/gtest-param-test.h
|
||||
# third_party/googletest/googletest/include/gtest/gtest-param-test.h.pump
|
||||
# third_party/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h
|
||||
# third_party/googletest/googletest/include/gtest/internal/gtest-param-util-generated.h.pump
|
||||
# third_party/googletest/googletest/include/gtest/internal/gtest-type-util.h
|
||||
# third_party/googletest/googletest/include/gtest/internal/gtest-type-util.h.pump
|
||||
# MIT:
|
||||
# conformance/third_party/jsoncpp/json.h
|
||||
# conformance/third_party/jsoncpp/jsoncpp.cpp
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/protocolbuffers/protobuf
|
||||
Source: https://github.com/protocolbuffers/protobuf/archive/v%{version}%{?rcver}/%{name}-%{version}%{?rcver}-all.tar.gz
|
||||
Source0: %{url}/archive/v%{version}%{?rcver}/%{name}-%{version}%{?rcver}-all.tar.gz
|
||||
|
||||
Source1: ftdetect-proto.vim
|
||||
Source2: protobuf-init.el
|
||||
|
||||
# We bundle a copy of the exact version of gtest that is used by upstream in
|
||||
# the source RPM rather than using the system copy. This is to be discouraged,
|
||||
# but necessary in this case. It is not treated as a bundled library because
|
||||
# it is used only at build time, and contributes nothing to the installed
|
||||
# files. We take measures to verify this in %%check. See
|
||||
# https://github.com/protocolbuffers/protobuf/tree/v%%{version}/third_party to
|
||||
# check the correct commit hash.
|
||||
%global gtest_url https://github.com/google/googletest
|
||||
%global gtest_commit 5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081
|
||||
%global gtest_dir googletest-%{gtest_commit}
|
||||
# For tests (using exactly the same version as the release)
|
||||
Source3: https://github.com/google/googletest/archive/5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.zip
|
||||
Source3: %{gtest_url}/archive/%{gtest_commit}/%{gtest_dir}.tar.gz
|
||||
|
||||
# Man page hand-written for Fedora in groff_man(7) format based on “protoc
|
||||
# --help” output.
|
||||
Source4: protoc.1
|
||||
|
||||
# https://github.com/protocolbuffers/protobuf/issues/8082
|
||||
Patch1: protobuf-3.14-disable-IoTest.LargeOutput.patch
|
||||
# Disable tests that are failing on 32bit systems
|
||||
Patch2: disable-tests-on-32-bit-systems.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2051202
|
||||
# java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
|
||||
# throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @12d5624a
|
||||
# at com.google.protobuf.ServiceTest.testGetPrototype(ServiceTest.java:107)
|
||||
Patch3: protobuf-3.19.4-jre17-add-opens.patch
|
||||
# Backport upstream commit da973aff2adab60a9e516d3202c111dbdde1a50f:
|
||||
# Fix build with Python 3.11
|
||||
#
|
||||
# The PyFrameObject structure members have been removed from the public C API.
|
||||
Patch4: protobuf-3.19.4-python3.11.patch
|
||||
|
||||
# A bundled copy of jsoncpp is included in the conformance tests, but the
|
||||
# result is not packaged, so we do not treat it as a formal bundled
|
||||
# dependency—thus the virtual Provides below is commented out. The bundling is
|
||||
# removed in a later release:
|
||||
# Make jsoncpp a formal dependency
|
||||
# https://github.com/protocolbuffers/protobuf/pull/10739
|
||||
# The bundled version number is obtained from JSONCPP_VERSION_STRING in
|
||||
# conformance/third_party/jsoncpp/json.h.
|
||||
# Provides: bundled(jsoncpp) = 1.6.5
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: emacs
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libtool
|
||||
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc-c++
|
||||
|
||||
BuildRequires: emacs
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
%ifnarch riscv64
|
||||
%ifnarch %{java_arches}
|
||||
Obsoletes: %{name}-java-util < 3.19.4-4
|
||||
Obsoletes: %{name}-javadoc < 3.19.4-4
|
||||
Obsoletes: %{name}-parent < 3.19.4-4
|
||||
Obsoletes: %{name}-bom < 3.19.4-4
|
||||
Obsoletes: %{name}-javalite < 3.19.4-4
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%description
|
||||
Protocol Buffers are a way of encoding structured data in an efficient
|
||||
yet extensible format. Google uses Protocol Buffers for almost all of
|
||||
|
@ -41,9 +133,6 @@ breaking deployed programs that are compiled against the "old" format.
|
|||
%package compiler
|
||||
Summary: Protocol Buffers compiler
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Obsoletes: protobuf-emacs < 3.6.1-4
|
||||
Obsoletes: protobuf-emacs-el < 3.6.1-4
|
||||
Requires: emacs-filesystem >= %{_emacs_version}
|
||||
|
||||
%description compiler
|
||||
This package contains Protocol Buffers compiler for all programming
|
||||
|
@ -103,25 +192,31 @@ which only depends libprotobuf-lite, which is much smaller than libprotobuf but
|
|||
lacks descriptors, reflection, and some other features.
|
||||
|
||||
%if %{with python}
|
||||
%package -n python%{python3_pkgversion}-%{name}
|
||||
Summary: Python 3 bindings for Google Protocol Buffers
|
||||
%package -n python3-%{name}
|
||||
Summary: Python bindings for Google Protocol Buffers
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3dist(setuptools)
|
||||
BuildRequires: python3dist(wheel)
|
||||
%if %{with python_cpp}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%else
|
||||
BuildArch: noarch
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
Requires: python%{python3_pkgversion}-six >= 1.9
|
||||
%endif
|
||||
Conflicts: %{name}-compiler > %{version}
|
||||
Conflicts: %{name}-compiler < %{version}
|
||||
Provides: %{name}-python3 = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{name}
|
||||
This package contains Python 3 libraries for Google Protocol Buffers
|
||||
%description -n python3-%{name}
|
||||
This package contains Python libraries for Google Protocol Buffers
|
||||
%endif
|
||||
|
||||
%package vim
|
||||
Summary: Vim syntax highlighting for Google Protocol Buffers descriptions
|
||||
BuildArch: noarch
|
||||
Requires: vim-enhanced
|
||||
# We don’t really need vim or vim-enhanced to be already installed in order to
|
||||
# install a plugin for it. We do need to depend on vim-filesystem, which
|
||||
# provides the necessary directory structure.
|
||||
Requires: vim-filesystem
|
||||
|
||||
%description vim
|
||||
This package contains syntax highlighting for Google Protocol Buffers
|
||||
|
@ -135,6 +230,8 @@ BuildArch: noarch
|
|||
BuildRequires: maven-local
|
||||
BuildRequires: mvn(com.google.code.gson:gson)
|
||||
BuildRequires: mvn(com.google.guava:guava)
|
||||
BuildRequires: mvn(com.google.guava:guava-testlib)
|
||||
BuildRequires: mvn(com.google.truth:truth)
|
||||
BuildRequires: mvn(junit:junit)
|
||||
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
|
||||
|
@ -186,26 +283,48 @@ 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
|
||||
%autopatch -p1
|
||||
mv googletest-5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081/* third_party/googletest/
|
||||
%ifarch %{ix86} armv7hl
|
||||
# IoTest.LargeOutput fails on 32bit arches
|
||||
# https://github.com/protocolbuffers/protobuf/issues/8082
|
||||
%patch1 -p1
|
||||
# Need to disable more tests that fail on 32bit arches only
|
||||
%patch2 -p0
|
||||
%endif
|
||||
%patch3 -p1 -b .jre17
|
||||
%patch4 -p1 -b .python311
|
||||
|
||||
# Copy in the needed gtest/gmock implementations.
|
||||
%setup -q -T -D -b 3 -n %{name}-%{version}%{?rcver}
|
||||
rm -rvf 'third_party/googletest'
|
||||
mv '../%{gtest_dir}' 'third_party/googletest'
|
||||
|
||||
find -name \*.cc -o -name \*.h | xargs chmod -x
|
||||
chmod 644 examples/*
|
||||
%if %{with java}
|
||||
%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
|
||||
# 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 -r java/util/src/test/java/com/google/protobuf/util
|
||||
rm -r java/util/src/main/java/com/google/protobuf/util
|
||||
%pom_remove_dep com.google.j2objc:j2objc-annotations java/util/pom.xml
|
||||
|
||||
# Remove annotation libraries we don't have
|
||||
annotations=$(
|
||||
find -name '*.java' |
|
||||
xargs grep -h -e '^import com\.google\.errorprone\.annotation' \
|
||||
-e '^import com\.google\.j2objc\.annotations' |
|
||||
sort -u | sed 's/.*\.\([^.]*\);/\1/' | paste -sd\|
|
||||
)
|
||||
find -name '*.java' | xargs sed -ri \
|
||||
"s/^import .*\.($annotations);//;s/@($annotations)"'\>\s*(\((("[^"]*")|([^)]*))\))?//g'
|
||||
|
||||
# Make OSGi dependency on sun.misc package optional
|
||||
%pom_xpath_inject "pom:configuration/pom:instructions" "<Import-Package>sun.misc;resolution:=optional,*</Import-Package>" java/core
|
||||
|
@ -232,18 +351,25 @@ export PTHREAD_LIBS="-lpthread"
|
|||
./autogen.sh
|
||||
%configure
|
||||
|
||||
%make_build
|
||||
# -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 python}
|
||||
pushd python
|
||||
%py3_build
|
||||
%py3_build %{?with_python_cpp:-- --cpp_implementation}
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{with java}
|
||||
%ifarch s390x %{arm}
|
||||
%ifarch %ix86 s390x %{arm} riscv64
|
||||
export MAVEN_OPTS=-Xmx1024m
|
||||
%endif
|
||||
%pom_disable_module kotlin java/pom.xml
|
||||
%pom_disable_module kotlin-lite java/pom.xml
|
||||
%mvn_build -s -- -f java/pom.xml
|
||||
%endif
|
||||
|
||||
|
@ -252,24 +378,27 @@ export MAVEN_OPTS=-Xmx1024m
|
|||
|
||||
%check
|
||||
# Java tests fail on s390x
|
||||
%ifarch s390x
|
||||
%ifarch s390x riscv64
|
||||
fail=0
|
||||
%else
|
||||
fail=1
|
||||
%endif
|
||||
make %{?_smp_mflags} check || exit $fail
|
||||
%make_build check CXXFLAGS="%{build_cxxflags} -Wno-error=type-limits" || exit $fail
|
||||
|
||||
|
||||
%install
|
||||
%make_install %{?_smp_mflags} STRIPBINARIES=no INSTALL="%{__install} -p" CPPROG="cp -p"
|
||||
find %{buildroot} -type f -name "*.la" -exec rm -f {} \;
|
||||
find %{buildroot} -type f -name "*.la" -exec rm -f {} +
|
||||
|
||||
# protoc.1 man page
|
||||
install -p -m 0644 -D -t '%{buildroot}%{_mandir}/man1' '%{SOURCE4}'
|
||||
|
||||
%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}'
|
||||
%py3_install %{?with_python_cpp:-- --cpp_implementation}
|
||||
%if %{without python_cpp}
|
||||
find %{buildroot}%{python3_sitelib} -name \*.py -exec sed -i -e '1{\@^#!@d}' {} +
|
||||
%endif
|
||||
popd
|
||||
%endif
|
||||
install -p -m 644 -D %{SOURCE1} %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/proto.vim
|
||||
|
@ -285,22 +414,17 @@ install -p -m 0644 editors/protobuf-mode.elc %{buildroot}%{_emacs_sitelispdir}/%
|
|||
mkdir -p %{buildroot}%{_emacs_sitestartdir}
|
||||
install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}
|
||||
|
||||
%ldconfig_scriptlets
|
||||
%ldconfig_scriptlets lite
|
||||
%ldconfig_scriptlets compiler
|
||||
|
||||
%files
|
||||
%doc CHANGES.txt CONTRIBUTORS.txt README.md
|
||||
%license LICENSE
|
||||
%{_libdir}/libprotobuf.so.22*
|
||||
%{_libdir}/libprotobuf.so.%{so_version}{,.*}
|
||||
|
||||
%files compiler
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/protoc
|
||||
%{_libdir}/libprotoc.so.22*
|
||||
%{_emacs_sitelispdir}/%{name}/
|
||||
%{_emacs_sitestartdir}/protobuf-init.el
|
||||
%{_mandir}/man1/protoc.1*
|
||||
%{_libdir}/libprotoc.so.%{so_version}{,.*}
|
||||
|
||||
%files devel
|
||||
%dir %{_includedir}/google
|
||||
|
@ -310,12 +434,18 @@ install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}
|
|||
%{_libdir}/pkgconfig/protobuf.pc
|
||||
%doc examples/add_person.cc examples/addressbook.proto examples/list_people.cc examples/Makefile examples/README.md
|
||||
|
||||
%files emacs
|
||||
%license LICENSE
|
||||
%{_emacs_sitelispdir}/%{name}/
|
||||
%{_emacs_sitestartdir}/protobuf-init.el
|
||||
|
||||
%files static
|
||||
%{_libdir}/libprotobuf.a
|
||||
%{_libdir}/libprotoc.a
|
||||
|
||||
%files lite
|
||||
%{_libdir}/libprotobuf-lite.so.22*
|
||||
%license LICENSE
|
||||
%{_libdir}/libprotobuf-lite.so.%{so_version}{,.*}
|
||||
|
||||
%files lite-devel
|
||||
%{_libdir}/libprotobuf-lite.so
|
||||
|
@ -325,16 +455,25 @@ install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}
|
|||
%{_libdir}/libprotobuf-lite.a
|
||||
|
||||
%if %{with python}
|
||||
%files -n python%{python3_pkgversion}-protobuf
|
||||
%files -n python3-protobuf
|
||||
%if %{with python_cpp}
|
||||
%dir %{python3_sitearch}/google
|
||||
%{python3_sitearch}/google/protobuf/
|
||||
%{python3_sitearch}/protobuf-%{version}%{?rcver}-py3.*.egg-info/
|
||||
%{python3_sitearch}/protobuf-%{version}%{?rcver}-py3.*-nspkg.pth
|
||||
%else
|
||||
%license LICENSE
|
||||
%dir %{python3_sitelib}/google
|
||||
%{python3_sitelib}/google/protobuf/
|
||||
%{python3_sitelib}/protobuf-%{version}%{?rcver}-py3.*.egg-info/
|
||||
%{python3_sitelib}/protobuf-%{version}%{?rcver}-py3.*-nspkg.pth
|
||||
%endif
|
||||
%doc python/README.md
|
||||
%doc examples/add_person.py examples/list_people.py examples/addressbook.proto
|
||||
%endif
|
||||
|
||||
%files vim
|
||||
%license LICENSE
|
||||
%{_datadir}/vim/vimfiles/ftdetect/proto.vim
|
||||
%{_datadir}/vim/vimfiles/syntax/proto.vim
|
||||
|
||||
|
@ -345,6 +484,7 @@ install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}
|
|||
%license LICENSE
|
||||
|
||||
%files java-util -f .mfiles-protobuf-java-util
|
||||
%license LICENSE
|
||||
|
||||
%files javadoc -f .mfiles-javadoc
|
||||
%license LICENSE
|
||||
|
@ -361,6 +501,111 @@ install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu Apr 06 2023 David Abdurachmanov <davidlt@rivosinc.com> - 3.19.6-2.0.riscv64
|
||||
- Enable riscv64
|
||||
- Disable java subpackages for riscv64 (takes too long to build)
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.19.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Dec 07 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 3.19.6-1
|
||||
- Update to 3.19.6; fix CVE-2022-3171
|
||||
|
||||
* Wed Dec 07 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 3.19.5-1
|
||||
- Update to 3.19.5; fix CVE-2022-1941
|
||||
|
||||
* Sun Dec 04 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 3.19.4-7
|
||||
- Update License to SPDX
|
||||
- Improved handling of gtest sources
|
||||
- Update/correct gtest commit hash to match upstream
|
||||
- Simplify the Source0 URL with a macro
|
||||
- Drop manual dependency on python3-six, no longer needed
|
||||
- Drop obsolete python_provide macro
|
||||
- Drop python3_pkgversion macro
|
||||
- Update summary and description to refer to “Python” instead of “Python 3”
|
||||
- Re-enable compiled Python extension on Python 3.11
|
||||
- Ensure all subpackages always have LICENSE, or depend on something that does
|
||||
- Remove obsolete ldconfig_scriptlets macros
|
||||
- The -vim subpackage now depends on vim-filesystem, no longer on vim-enhanced
|
||||
- Add a man page for protoc
|
||||
- Use a macro to avoid repeating the .so version, and improve .so globs
|
||||
|
||||
* Sun Aug 14 2022 Orion Poplawski <orion@nwra.com> - 3.19.4-6
|
||||
- Build python support with C++ (bz#2107921)
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.19.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jul 06 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 3.19.4-4
|
||||
- Exclude java subpackages on non-java arches (fix RHBZ#2104092)
|
||||
- Obsolete java subpackages on non-java arches
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.19.4-3
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Sun Feb 13 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.19.4-2
|
||||
- Add some --add-opens option for java17
|
||||
- Restrict heap usage for mvn also on %%ix86
|
||||
|
||||
* Mon Feb 07 2022 Orion Poplawski <orion@nwra.com> - 3.19.4-1
|
||||
- Update to 3.19.4
|
||||
|
||||
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 3.19.0-4
|
||||
- Rebuilt for java-17-openjdk as system jdk
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.19.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Wed Nov 10 2021 Orion Poplawski <orion@nwra.com> - 3.19.0-2
|
||||
- Re-enable java
|
||||
|
||||
* Wed Oct 27 2021 Major Hayden <major@mhtx.net> - 3.19.0-1
|
||||
- Update to 3.19.1
|
||||
|
||||
* Fri Oct 22 2021 Adrian Reber <adrian@lisas.de> - 3.18.1-2
|
||||
- Disable tests that fail on 32bit arches
|
||||
|
||||
* Thu Oct 14 2021 Orion Poplawski <orion@nwra.com> - 3.18.1-1
|
||||
- Update to 3.18.1
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.14.0-5
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Thu May 06 2021 Adrian Reber <adrian@lisas.de> - 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 <jwakely@redhat.com> - 3.14.0-3
|
||||
- Rebuilt for removed libstdc++ symbol (#1937698)
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.14.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 04 2021 Adrian Reber <adrian@lisas.de> - 3.14.0-1
|
||||
- Update to 3.14.0
|
||||
|
||||
* Wed Aug 26 2020 Charalampos Stratakis <cstratak@redhat.com> - 3.13.0-1
|
||||
- Update to 3.13.0
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-4
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sat Jul 11 2020 Jiri Vanek <jvanek@redhat.com> - 3.12.3-2
|
||||
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
|
||||
|
||||
* Fri Jun 19 2020 Adrian Reber <adrian@lisas.de> - 3.12.3-2
|
||||
- Update to 3.12.3
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.11.4-2
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Tue Mar 31 2020 Adrian Reber <adrian@lisas.de> - 3.11.4-1
|
||||
- Update to 3.11.4
|
||||
|
||||
|
|
|
@ -0,0 +1,193 @@
|
|||
.TH protoc "1" "December 2022" protoc "User Commands"
|
||||
.SH NAME
|
||||
protoc \- Protobuf compiler
|
||||
.SH SYNOPSIS
|
||||
protoc
|
||||
.RI [ OPTION ]
|
||||
.I PROTO_FILES
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
Parse
|
||||
.I PROTO_FILES
|
||||
and generate output based on the options given.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-I\fIPATH\fR, \fB\-\-proto_path=\fIPATH
|
||||
Specify the directory in which to search for imports.
|
||||
May be specified multiple times; directories will be searched in order.
|
||||
If not given, the current working directory is used.
|
||||
If not found in any of the these directories, the
|
||||
.B \-\-descriptor_set_in
|
||||
descriptors will be checked for required proto file.
|
||||
.TP
|
||||
.B \-\-version
|
||||
Show version info and exit.
|
||||
.TP
|
||||
.B \-h\fR, \fB\-\-help
|
||||
Show a help message and exit.
|
||||
.TP
|
||||
.BI \-\-encode= MESSAGE_TYPE
|
||||
Read a text-format message of the given type
|
||||
from standard input and write it in binary
|
||||
to standard output.
|
||||
The message type must be defined in
|
||||
.I PROTO_FILES
|
||||
or their imports.
|
||||
.TP
|
||||
.B \-\-deterministic_output
|
||||
When using
|
||||
.BR \-\-encode ,
|
||||
ensure map fields are deterministically ordered.
|
||||
Note that this order is not canonical,
|
||||
and changes across builds or releases of
|
||||
.BR protoc (1).
|
||||
.TP
|
||||
.BI \-\-decode= MESSAGE_TYPE
|
||||
Read a binary message of the given type
|
||||
from standard input and write it in text format
|
||||
to standard output.
|
||||
The message type must be defined in
|
||||
.I PROTO_FILES
|
||||
or their imports.
|
||||
.TP
|
||||
.B \-\-decode_raw
|
||||
Read an arbitrary protocol message
|
||||
from standard input and write the raw tag/value pairs in text format
|
||||
to standard output.
|
||||
No
|
||||
.I PROTO_FILES
|
||||
should be given when using this flag.
|
||||
.TP
|
||||
.BI \-\-descriptor_set_in= FILES
|
||||
Specifies a delimited list of
|
||||
.I FILES
|
||||
each containing a
|
||||
.B FileDescriptorSet
|
||||
(a protocol buffer defined in
|
||||
.BR descriptor.proto ).
|
||||
The
|
||||
.B FileDescriptor
|
||||
for each of the
|
||||
.I PROTO_FILES
|
||||
provided will be loaded from these
|
||||
.BR FileDescriptorSets .
|
||||
If a
|
||||
.B FileDescriptor
|
||||
appears multiple times, the first occurrence will be used.
|
||||
.TP
|
||||
.B \-o\fIFILE\fR, \fB\-\-descriptor_set_out=\fIFILE
|
||||
Writes a
|
||||
.B FileDescriptorSet
|
||||
(a protocol buffer, defined in
|
||||
.BR descriptor.proto )
|
||||
containing all of the input files to
|
||||
.IR FILE .
|
||||
.TP
|
||||
.B \-\-include_imports
|
||||
When using
|
||||
.BR \-\-descriptor_set_out ,
|
||||
also include all dependencies of the input files in the set,
|
||||
so that the set is self-contained.
|
||||
.TP
|
||||
.B \-\-include_source_info
|
||||
When using
|
||||
.BR \-\-descriptor_set_out ,
|
||||
do not strip
|
||||
.B SourceCodeInfo
|
||||
from the
|
||||
.BR FileDescriptorProto .
|
||||
This results in vastly larger descriptors
|
||||
that include information about the original location
|
||||
of each decl in the source file
|
||||
as well as surrounding comments.
|
||||
.TP
|
||||
.BI \-\-dependency_out= FILE
|
||||
Write a dependency output file in the format expected by
|
||||
.BR make (1).
|
||||
This writes the transitive set of input file paths to
|
||||
.I FILE
|
||||
.TP
|
||||
.BI \-\-error_format= FORMAT
|
||||
Set the format in which to print errors.
|
||||
.I FORMAT
|
||||
may be
|
||||
.RB \(oq gcc \(cq
|
||||
(the default) or
|
||||
.RP \(oq msvs \(cq
|
||||
(Microsoft Visual Studio format).
|
||||
.TP
|
||||
.B \-\-fatal_warnings
|
||||
Make warnings be fatal (similar to
|
||||
.B \-Werr
|
||||
in
|
||||
.BR gcc (1)).
|
||||
This flag will make
|
||||
.BR protoc (1)
|
||||
return with a non-zero exit code
|
||||
if any warnings are generated.
|
||||
.TP
|
||||
.B \-\-print_free_field_numbers
|
||||
Print the free field numbers of the messages
|
||||
defined in the given proto files.
|
||||
Groups share the same field number space with the parent message.
|
||||
Extension ranges are counted as occupied fields numbers.
|
||||
.TP
|
||||
.BI \-\-plugin= EXECUTABLE
|
||||
Specifies a plugin executable to use.
|
||||
Normally,
|
||||
.BR protoc (1)
|
||||
searches the
|
||||
.B PATH
|
||||
for plugins, but you may specify additional executables
|
||||
not in the path using this flag.
|
||||
Additionally,
|
||||
.I EXECUTABLE
|
||||
may be of the form
|
||||
.BR NAME=\fIPATH ,
|
||||
in which case the given plugin name
|
||||
is mapped to the given executable
|
||||
even if the executable\(cqs own name differs.
|
||||
.TP
|
||||
.BI \-\-cpp_out= OUT_DIR
|
||||
Generate C++ header and source.
|
||||
.TP
|
||||
.BI \-\-csharp_out= OUT_DIR
|
||||
Generate C# source file.
|
||||
.TP
|
||||
.BI \-\-java_out= OUT_DIR
|
||||
Generate Java source file.
|
||||
.TP
|
||||
.BI \-\-js_out= OUT_DIR
|
||||
Generate JavaScript source.
|
||||
.TP
|
||||
.BI \-\-kotlin_out= OUT_DIR
|
||||
Generate Kotlin file.
|
||||
.TP
|
||||
.BI \-\-objc_out= OUT_DIR
|
||||
Generate Objective-C header and source.
|
||||
.TP
|
||||
.BI \-\-php_out= OUT_DIR
|
||||
Generate PHP source file.
|
||||
.TP
|
||||
.BI \-\-python_out= OUT_DIR
|
||||
Generate Python source file.
|
||||
.TP
|
||||
.BI \-\-ruby_out= OUT_DIR
|
||||
Generate Ruby source file.
|
||||
.TP
|
||||
.BI @ <filename>
|
||||
Read options and filenames from file.
|
||||
If a relative file path is specified,
|
||||
the file will be searched in the working directory.
|
||||
The
|
||||
.B \-\-proto_path
|
||||
option will not affect how this argument file is searched.
|
||||
Content of the file will be expanded in the position of
|
||||
.BI @ <filename>
|
||||
as in the argument list.
|
||||
Note that shell expansion is not applied to the content of the file
|
||||
(i.e., you cannot use quotes, wildcards, escapes, commands, etc.).
|
||||
Each line corresponds to a single argument, even if it contains spaces.
|
||||
.SH "SEE ALSO"
|
||||
.BR make (1),
|
||||
.BR gcc (1)
|
4
sources
4
sources
|
@ -1,2 +1,2 @@
|
|||
SHA512 (protobuf-3.11.4-all.tar.gz) = 777bbb0e9e2375eaebe6b8c87abd660bac70ee469c9ad00dd25917b82d7fb5bbe33cf87f0d69c90e19d55c07a7285ec20974ba4768623ce9ccfadf147fd5e261
|
||||
SHA512 (5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.zip) = ba904f3a0b606357873db938986b0abf37425a65501340fe81f73f9c5d05f542429662fe71c0b10e4796cb6335ae9a687fc9fb21084f2f5bfd2ede79977f5821
|
||||
SHA512 (protobuf-3.19.6-all.tar.gz) = 8f92242f2be8e1bbfba41341c87709ad91ad83b8b3e3df88bb430411541d3399295f49291fd52b50e3487b0fce33181cb4d175685fd25aac72adfaee26a612d4
|
||||
SHA512 (googletest-5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081.tar.gz) = 623b077b3334958fafcbc34aa85891883277994af33be530efd903f47738a3e3562001cbf3b6da1a5e7d03803c5bd51bcc1fab81490db85d5a4f2b15e7de1495
|
||||
|
|
Loading…
Reference in New Issue