- protobuf required for protobuf-c which is new build dependency for frr
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/protobuf | 288 +++++++++++++++++++++++++++++++ lfs/protobuf | 81 +++++++++ make.sh | 1 + 3 files changed, 370 insertions(+) create mode 100644 config/rootfiles/common/protobuf create mode 100644 lfs/protobuf
diff --git a/config/rootfiles/common/protobuf b/config/rootfiles/common/protobuf new file mode 100644 index 000000000..d3aa47718 --- /dev/null +++ b/config/rootfiles/common/protobuf @@ -0,0 +1,288 @@ +#usr/bin/protoc +#usr/bin/protoc-25.2.0 +#usr/include/google +#usr/include/google/protobuf +#usr/include/google/protobuf/any.h +#usr/include/google/protobuf/any.pb.h +#usr/include/google/protobuf/any.proto +#usr/include/google/protobuf/api.pb.h +#usr/include/google/protobuf/api.proto +#usr/include/google/protobuf/arena.h +#usr/include/google/protobuf/arena_align.h +#usr/include/google/protobuf/arena_allocation_policy.h +#usr/include/google/protobuf/arena_cleanup.h +#usr/include/google/protobuf/arenastring.h +#usr/include/google/protobuf/arenaz_sampler.h +#usr/include/google/protobuf/compiler +#usr/include/google/protobuf/compiler/allowlists +#usr/include/google/protobuf/compiler/allowlists/allowlist.h +#usr/include/google/protobuf/compiler/allowlists/allowlists.h +#usr/include/google/protobuf/compiler/code_generator.h +#usr/include/google/protobuf/compiler/command_line_interface.h +#usr/include/google/protobuf/compiler/cpp +#usr/include/google/protobuf/compiler/cpp/enum.h +#usr/include/google/protobuf/compiler/cpp/extension.h +#usr/include/google/protobuf/compiler/cpp/field.h +#usr/include/google/protobuf/compiler/cpp/field_generators +#usr/include/google/protobuf/compiler/cpp/field_generators/generators.h +#usr/include/google/protobuf/compiler/cpp/file.h +#usr/include/google/protobuf/compiler/cpp/generator.h +#usr/include/google/protobuf/compiler/cpp/helpers.h +#usr/include/google/protobuf/compiler/cpp/message.h +#usr/include/google/protobuf/compiler/cpp/message_layout_helper.h +#usr/include/google/protobuf/compiler/cpp/names.h +#usr/include/google/protobuf/compiler/cpp/options.h +#usr/include/google/protobuf/compiler/cpp/padding_optimizer.h +#usr/include/google/protobuf/compiler/cpp/parse_function_generator.h +#usr/include/google/protobuf/compiler/cpp/service.h +#usr/include/google/protobuf/compiler/cpp/tracker.h +#usr/include/google/protobuf/compiler/csharp +#usr/include/google/protobuf/compiler/csharp/csharp_doc_comment.h +#usr/include/google/protobuf/compiler/csharp/csharp_enum.h +#usr/include/google/protobuf/compiler/csharp/csharp_enum_field.h +#usr/include/google/protobuf/compiler/csharp/csharp_field_base.h +#usr/include/google/protobuf/compiler/csharp/csharp_generator.h +#usr/include/google/protobuf/compiler/csharp/csharp_helpers.h +#usr/include/google/protobuf/compiler/csharp/csharp_map_field.h +#usr/include/google/protobuf/compiler/csharp/csharp_message.h +#usr/include/google/protobuf/compiler/csharp/csharp_message_field.h +#usr/include/google/protobuf/compiler/csharp/csharp_options.h +#usr/include/google/protobuf/compiler/csharp/csharp_primitive_field.h +#usr/include/google/protobuf/compiler/csharp/csharp_reflection_class.h +#usr/include/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h +#usr/include/google/protobuf/compiler/csharp/csharp_repeated_message_field.h +#usr/include/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h +#usr/include/google/protobuf/compiler/csharp/csharp_source_generator_base.h +#usr/include/google/protobuf/compiler/csharp/csharp_wrapper_field.h +#usr/include/google/protobuf/compiler/csharp/names.h +#usr/include/google/protobuf/compiler/importer.h +#usr/include/google/protobuf/compiler/java +#usr/include/google/protobuf/compiler/java/context.h +#usr/include/google/protobuf/compiler/java/doc_comment.h +#usr/include/google/protobuf/compiler/java/enum.h +#usr/include/google/protobuf/compiler/java/enum_field.h +#usr/include/google/protobuf/compiler/java/enum_field_lite.h +#usr/include/google/protobuf/compiler/java/enum_lite.h +#usr/include/google/protobuf/compiler/java/extension.h +#usr/include/google/protobuf/compiler/java/extension_lite.h +#usr/include/google/protobuf/compiler/java/field.h +#usr/include/google/protobuf/compiler/java/file.h +#usr/include/google/protobuf/compiler/java/generator.h +#usr/include/google/protobuf/compiler/java/generator_factory.h +#usr/include/google/protobuf/compiler/java/helpers.h +#usr/include/google/protobuf/compiler/java/java_features.pb.h +#usr/include/google/protobuf/compiler/java/kotlin_generator.h +#usr/include/google/protobuf/compiler/java/map_field.h +#usr/include/google/protobuf/compiler/java/map_field_lite.h +#usr/include/google/protobuf/compiler/java/message.h +#usr/include/google/protobuf/compiler/java/message_builder.h +#usr/include/google/protobuf/compiler/java/message_builder_lite.h +#usr/include/google/protobuf/compiler/java/message_field.h +#usr/include/google/protobuf/compiler/java/message_field_lite.h +#usr/include/google/protobuf/compiler/java/message_lite.h +#usr/include/google/protobuf/compiler/java/message_serialization.h +#usr/include/google/protobuf/compiler/java/name_resolver.h +#usr/include/google/protobuf/compiler/java/names.h +#usr/include/google/protobuf/compiler/java/options.h +#usr/include/google/protobuf/compiler/java/primitive_field.h +#usr/include/google/protobuf/compiler/java/primitive_field_lite.h +#usr/include/google/protobuf/compiler/java/service.h +#usr/include/google/protobuf/compiler/java/shared_code_generator.h +#usr/include/google/protobuf/compiler/java/string_field.h +#usr/include/google/protobuf/compiler/java/string_field_lite.h +#usr/include/google/protobuf/compiler/objectivec +#usr/include/google/protobuf/compiler/objectivec/enum.h +#usr/include/google/protobuf/compiler/objectivec/enum_field.h +#usr/include/google/protobuf/compiler/objectivec/extension.h +#usr/include/google/protobuf/compiler/objectivec/field.h +#usr/include/google/protobuf/compiler/objectivec/file.h +#usr/include/google/protobuf/compiler/objectivec/generator.h +#usr/include/google/protobuf/compiler/objectivec/helpers.h +#usr/include/google/protobuf/compiler/objectivec/import_writer.h +#usr/include/google/protobuf/compiler/objectivec/line_consumer.h +#usr/include/google/protobuf/compiler/objectivec/map_field.h +#usr/include/google/protobuf/compiler/objectivec/message.h +#usr/include/google/protobuf/compiler/objectivec/message_field.h +#usr/include/google/protobuf/compiler/objectivec/names.h +#usr/include/google/protobuf/compiler/objectivec/nsobject_methods.h +#usr/include/google/protobuf/compiler/objectivec/oneof.h +#usr/include/google/protobuf/compiler/objectivec/options.h +#usr/include/google/protobuf/compiler/objectivec/primitive_field.h +#usr/include/google/protobuf/compiler/objectivec/text_format_decode_data.h +#usr/include/google/protobuf/compiler/parser.h +#usr/include/google/protobuf/compiler/php +#usr/include/google/protobuf/compiler/php/names.h +#usr/include/google/protobuf/compiler/php/php_generator.h +#usr/include/google/protobuf/compiler/plugin.h +#usr/include/google/protobuf/compiler/plugin.pb.h +#usr/include/google/protobuf/compiler/plugin.proto +#usr/include/google/protobuf/compiler/python +#usr/include/google/protobuf/compiler/python/generator.h +#usr/include/google/protobuf/compiler/python/helpers.h +#usr/include/google/protobuf/compiler/python/pyi_generator.h +#usr/include/google/protobuf/compiler/retention.h +#usr/include/google/protobuf/compiler/ruby +#usr/include/google/protobuf/compiler/ruby/ruby_generator.h +#usr/include/google/protobuf/compiler/rust +#usr/include/google/protobuf/compiler/rust/accessors +#usr/include/google/protobuf/compiler/rust/accessors/accessor_generator.h +#usr/include/google/protobuf/compiler/rust/accessors/accessors.h +#usr/include/google/protobuf/compiler/rust/context.h +#usr/include/google/protobuf/compiler/rust/generator.h +#usr/include/google/protobuf/compiler/rust/message.h +#usr/include/google/protobuf/compiler/rust/naming.h +#usr/include/google/protobuf/compiler/rust/oneof.h +#usr/include/google/protobuf/compiler/rust/relative_path.h +#usr/include/google/protobuf/compiler/scc.h +#usr/include/google/protobuf/compiler/subprocess.h +#usr/include/google/protobuf/compiler/versions.h +#usr/include/google/protobuf/compiler/versions_suffix.h +#usr/include/google/protobuf/compiler/zip_writer.h +#usr/include/google/protobuf/cpp_edition_defaults.h +#usr/include/google/protobuf/cpp_features.pb.h +#usr/include/google/protobuf/cpp_features.proto +#usr/include/google/protobuf/descriptor.h +#usr/include/google/protobuf/descriptor.pb.h +#usr/include/google/protobuf/descriptor.proto +#usr/include/google/protobuf/descriptor_database.h +#usr/include/google/protobuf/descriptor_legacy.h +#usr/include/google/protobuf/descriptor_visitor.h +#usr/include/google/protobuf/duration.pb.h +#usr/include/google/protobuf/duration.proto +#usr/include/google/protobuf/dynamic_message.h +#usr/include/google/protobuf/empty.pb.h +#usr/include/google/protobuf/empty.proto +#usr/include/google/protobuf/endian.h +#usr/include/google/protobuf/explicitly_constructed.h +#usr/include/google/protobuf/extension_set.h +#usr/include/google/protobuf/extension_set_inl.h +#usr/include/google/protobuf/feature_resolver.h +#usr/include/google/protobuf/field_access_listener.h +#usr/include/google/protobuf/field_mask.pb.h +#usr/include/google/protobuf/field_mask.proto +#usr/include/google/protobuf/generated_enum_reflection.h +#usr/include/google/protobuf/generated_enum_util.h +#usr/include/google/protobuf/generated_message_bases.h +#usr/include/google/protobuf/generated_message_reflection.h +#usr/include/google/protobuf/generated_message_tctable_decl.h +#usr/include/google/protobuf/generated_message_tctable_gen.h +#usr/include/google/protobuf/generated_message_tctable_impl.h +#usr/include/google/protobuf/generated_message_util.h +#usr/include/google/protobuf/has_bits.h +#usr/include/google/protobuf/implicit_weak_message.h +#usr/include/google/protobuf/inlined_string_field.h +#usr/include/google/protobuf/internal_message_util.h +#usr/include/google/protobuf/internal_visibility.h +#usr/include/google/protobuf/io +#usr/include/google/protobuf/io/coded_stream.h +#usr/include/google/protobuf/io/gzip_stream.h +#usr/include/google/protobuf/io/io_win32.h +#usr/include/google/protobuf/io/printer.h +#usr/include/google/protobuf/io/strtod.h +#usr/include/google/protobuf/io/tokenizer.h +#usr/include/google/protobuf/io/zero_copy_sink.h +#usr/include/google/protobuf/io/zero_copy_stream.h +#usr/include/google/protobuf/io/zero_copy_stream_impl.h +#usr/include/google/protobuf/io/zero_copy_stream_impl_lite.h +#usr/include/google/protobuf/json +#usr/include/google/protobuf/json/internal +#usr/include/google/protobuf/json/internal/descriptor_traits.h +#usr/include/google/protobuf/json/internal/lexer.h +#usr/include/google/protobuf/json/internal/message_path.h +#usr/include/google/protobuf/json/internal/parser.h +#usr/include/google/protobuf/json/internal/parser_traits.h +#usr/include/google/protobuf/json/internal/unparser.h +#usr/include/google/protobuf/json/internal/unparser_traits.h +#usr/include/google/protobuf/json/internal/untyped_message.h +#usr/include/google/protobuf/json/internal/writer.h +#usr/include/google/protobuf/json/internal/zero_copy_buffered_stream.h +#usr/include/google/protobuf/json/json.h +#usr/include/google/protobuf/map.h +#usr/include/google/protobuf/map_entry.h +#usr/include/google/protobuf/map_field.h +#usr/include/google/protobuf/map_field_inl.h +#usr/include/google/protobuf/map_field_lite.h +#usr/include/google/protobuf/map_type_handler.h +#usr/include/google/protobuf/message.h +#usr/include/google/protobuf/message_lite.h +#usr/include/google/protobuf/metadata.h +#usr/include/google/protobuf/metadata_lite.h +#usr/include/google/protobuf/parse_context.h +#usr/include/google/protobuf/port.h +#usr/include/google/protobuf/port_def.inc +#usr/include/google/protobuf/port_undef.inc +#usr/include/google/protobuf/raw_ptr.h +#usr/include/google/protobuf/reflection.h +#usr/include/google/protobuf/reflection_internal.h +#usr/include/google/protobuf/reflection_mode.h +#usr/include/google/protobuf/reflection_ops.h +#usr/include/google/protobuf/repeated_field.h +#usr/include/google/protobuf/repeated_ptr_field.h +#usr/include/google/protobuf/serial_arena.h +#usr/include/google/protobuf/service.h +#usr/include/google/protobuf/source_context.pb.h +#usr/include/google/protobuf/source_context.proto +#usr/include/google/protobuf/string_block.h +#usr/include/google/protobuf/struct.pb.h +#usr/include/google/protobuf/struct.proto +#usr/include/google/protobuf/stubs +#usr/include/google/protobuf/stubs/callback.h +#usr/include/google/protobuf/stubs/common.h +#usr/include/google/protobuf/stubs/platform_macros.h +#usr/include/google/protobuf/stubs/port.h +#usr/include/google/protobuf/stubs/status_macros.h +#usr/include/google/protobuf/text_format.h +#usr/include/google/protobuf/thread_safe_arena.h +#usr/include/google/protobuf/timestamp.pb.h +#usr/include/google/protobuf/timestamp.proto +#usr/include/google/protobuf/type.pb.h +#usr/include/google/protobuf/type.proto +#usr/include/google/protobuf/unknown_field_set.h +#usr/include/google/protobuf/util +#usr/include/google/protobuf/util/delimited_message_util.h +#usr/include/google/protobuf/util/field_comparator.h +#usr/include/google/protobuf/util/field_mask_util.h +#usr/include/google/protobuf/util/json_util.h +#usr/include/google/protobuf/util/message_differencer.h +#usr/include/google/protobuf/util/time_util.h +#usr/include/google/protobuf/util/type_resolver.h +#usr/include/google/protobuf/util/type_resolver_util.h +#usr/include/google/protobuf/varint_shuffle.h +#usr/include/google/protobuf/wire_format.h +#usr/include/google/protobuf/wire_format_lite.h +#usr/include/google/protobuf/wrappers.pb.h +#usr/include/google/protobuf/wrappers.proto +#usr/include/java +#usr/include/java/core +#usr/include/java/core/src +#usr/include/java/core/src/main +#usr/include/java/core/src/main/java +#usr/include/java/core/src/main/java/com +#usr/include/java/core/src/main/java/com/google +#usr/include/java/core/src/main/java/com/google/protobuf +#usr/include/java/core/src/main/java/com/google/protobuf/java_features.proto +#usr/include/utf8_range.h +#usr/include/utf8_validity.h +#usr/lib/cmake/protobuf +#usr/lib/cmake/protobuf/protobuf-config-version.cmake +#usr/lib/cmake/protobuf/protobuf-config.cmake +#usr/lib/cmake/protobuf/protobuf-generate.cmake +#usr/lib/cmake/protobuf/protobuf-module.cmake +#usr/lib/cmake/protobuf/protobuf-options.cmake +#usr/lib/cmake/protobuf/protobuf-targets-noconfig.cmake +#usr/lib/cmake/protobuf/protobuf-targets.cmake +#usr/lib/cmake/utf8_range +#usr/lib/cmake/utf8_range/utf8_range-config.cmake +#usr/lib/cmake/utf8_range/utf8_range-targets-noconfig.cmake +#usr/lib/cmake/utf8_range/utf8_range-targets.cmake +#usr/lib/libprotobuf-lite.so +#usr/lib/libprotobuf-lite.so.25.2.0 +#usr/lib/libprotobuf.so +#usr/lib/libprotobuf.so.25.2.0 +#usr/lib/libprotoc.so +#usr/lib/libprotoc.so.25.2.0 +#usr/lib/libutf8_range.a +#usr/lib/libutf8_validity.a +#usr/lib/pkgconfig/protobuf-lite.pc +#usr/lib/pkgconfig/protobuf.pc +#usr/lib/pkgconfig/utf8_range.pc diff --git a/lfs/protobuf b/lfs/protobuf new file mode 100644 index 000000000..5258fc192 --- /dev/null +++ b/lfs/protobuf @@ -0,0 +1,81 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2024 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 25.2 + +THISAPP = protobuf-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = 1ee7a48d3a481f523ff240c79e8cacb39b6a7e2c671279812cbffd5ce9be595034461fba41f03bed363133118c1b92bd14bcfd8c4e46ac6368e6407a23fb02ea + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && cmake . \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D protobuf_BUILD_TESTS=OFF \ + -D protobuf_BUILD_SHARED_LIBS=ON \ + -D protobuf_ABSL_PROVIDER=package + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 183d4a535..9405d497e 100644 --- a/make.sh +++ b/make.sh @@ -1648,6 +1648,7 @@ buildipfire() { lfsmake2 dnsdist lfsmake2 bird lfsmake2 libyang + lfsmake2 protobuf lfsmake2 protobuf-c lfsmake2 frr lfsmake2 dmidecode