diff --git a/.gitignore b/.gitignore index 62de6f1bf9fb..19a67cebd19e 100644 --- a/.gitignore +++ b/.gitignore @@ -215,3 +215,12 @@ BenchmarkDotNet.Artifacts/ # Clangd uses these common ephemeral files .cache compile_commands.json + +src/*.a +src/*.so* +src/CMakeCache.txt +src/CMakeFiles/ +src/cmake_install.cmake +src/install_manifest.txt +src/lib/ +src/protoc-* diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 000000000000..cefb2ec10cae --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,13 @@ +*.substvars +*debhelper* +.debhelper +autoreconf.* +files +libprotobuf-dev +libprotobuf-lite32 +libprotobuf32 +libprotoc-dev +libprotoc32 +protobuf-compiler +python3-protobuf +tmp diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000000..961d8073c4dc --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +protobuf (100:3.21.5-1) UNRELEASED; urgency=medium + + * https://github.com/protocolbuffers/protobuf/releases/tag/v3.21.5 + + -- Wong Hoi Sing Edison Sat, 03 Sep 2022 18:01:15 +0800 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000000..2aa2d08cc6c6 --- /dev/null +++ b/debian/control @@ -0,0 +1,114 @@ +Source: protobuf +Section: devel +Priority: optional +Standards-Version: 4.5.0 +Maintainer: Wong Hoi Sing Edison +Homepage: https://github.com/protocolbuffers/protobuf/tags +Vcs-Browser: https://github.com/alvistack/protocolbuffers-protobuf +Vcs-Git: https://github.com/alvistack/protocolbuffers-protobuf.git +Build-Depends: + debhelper, + debhelper-compat (= 10), + dh-python, + fdupes, + cmake, + ninja-build, + python3-dev, + python3-setuptools, + zlib1g-dev, + +Package: libprotobuf32 +Architecture: any +Section: libs +Description: protocol buffers C++ library + This package contains the runtime library needed for C++ applications. +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + cura-engine (<< 1:3.3.0-2.1+b1), + libarcus3 (<< 3.3.0-2), + +Package: libprotobuf-lite32 +Architecture: any +Section: libs +Description: protocol buffers C++ library (lite version) + This package contains the runtime library needed for C++ applications whose + message definitions have the "lite runtime" optimization setting. +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + +Package: libprotobuf-dev +Architecture: any +Section: libdevel +Description: protocol buffers C++ library (development files) and proto files + This package contains the development headers and static libraries needed for + writing C++ applications. Includes well known proto type files. +Depends: + ${misc:Depends}, + zlib1g-dev, + libprotobuf32 (= ${source:Version}), + libprotobuf-lite32 (= ${source:Version}), +Breaks: + protobuf-compiler (<< ${source:Version}), + protobuf-compiler (>> ${source:Version}), +Provides: + protobuf-api-32-0, + +Package: libprotoc32 +Architecture: any +Multi-Arch: same +Section: libs +Description: protocol buffers compiler library + This package contains the runtime library needed for the protocol buffer + compiler. +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + +Package: libprotoc-dev +Architecture: any +Section: libdevel +Description: protocol buffers compiler library (development files) + This package contains the development headers and static library needed for + writing protobuf compilers. +Depends: + ${misc:Depends}, + libprotobuf-dev (= ${source:Version}), + libprotoc32 (= ${source:Version}), +Replaces: + libprotobuf-dev (<< 2.1.0), +Breaks: + libprotobuf-dev (<< 2.1.0), + +Package: protobuf-compiler +Architecture: any +Description: compiler for protocol buffer definition files + This package contains the protocol buffer compiler that is used for + translating from .proto files (containing the definitions) to the language + binding for the supported languages. +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libprotoc32 (= ${binary:Version}), +Recommends: + libprotobuf-dev, +Suggests: + protobuf-mode-el, + +Package: python3-protobuf +Architecture: any +Section: python +Description: Python 3 bindings for protocol buffers + This package contains the Python 3 bindings for the protocol buffers. You will + need the protoc tool (in the protobuf-compiler package) to compile your + definition to Python classes, and then the modules in this package will allow + you to use those classes in your programs. +Depends: + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends}, + python3, +Provides: + python3-protobuf (= 4.21.5), diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/debian/libprotobuf-dev.install b/debian/libprotobuf-dev.install new file mode 100644 index 000000000000..fc5b1dbcdaef --- /dev/null +++ b/debian/libprotobuf-dev.install @@ -0,0 +1,4 @@ +usr/include +usr/lib/*/libprotobuf-lite.so +usr/lib/*/libprotobuf.so +usr/lib/*/pkgconfig/* diff --git a/debian/libprotobuf-dev.lintian-overrides b/debian/libprotobuf-dev.lintian-overrides new file mode 100644 index 000000000000..30fd66a144cf --- /dev/null +++ b/debian/libprotobuf-dev.lintian-overrides @@ -0,0 +1,3 @@ +libprotobuf-dev: copyright-without-copyright-notice +libprotobuf-dev: initial-upload-closes-no-bugs +libprotobuf-dev: zero-byte-file-in-doc-directory diff --git a/debian/libprotobuf-lite32.install b/debian/libprotobuf-lite32.install new file mode 100644 index 000000000000..45e00546a30a --- /dev/null +++ b/debian/libprotobuf-lite32.install @@ -0,0 +1 @@ +usr/lib/*/libprotobuf-lite.so.* diff --git a/debian/libprotobuf-lite32.lintian-overrides b/debian/libprotobuf-lite32.lintian-overrides new file mode 100644 index 000000000000..499fad073392 --- /dev/null +++ b/debian/libprotobuf-lite32.lintian-overrides @@ -0,0 +1,4 @@ +libprotobuf-lite32: copyright-without-copyright-notice +libprotobuf-lite32: initial-upload-closes-no-bugs +libprotobuf-lite32: package-name-doesnt-match-sonames +libprotobuf-lite32: zero-byte-file-in-doc-directory diff --git a/debian/libprotobuf32.install b/debian/libprotobuf32.install new file mode 100644 index 000000000000..9ac8d247dccb --- /dev/null +++ b/debian/libprotobuf32.install @@ -0,0 +1 @@ +usr/lib/*/libprotobuf.so.* diff --git a/debian/libprotobuf32.lintian-overrides b/debian/libprotobuf32.lintian-overrides new file mode 100644 index 000000000000..eb338d3a4c48 --- /dev/null +++ b/debian/libprotobuf32.lintian-overrides @@ -0,0 +1,4 @@ +libprotobuf32: copyright-without-copyright-notice +libprotobuf32: initial-upload-closes-no-bugs +libprotobuf32: package-name-doesnt-match-sonames +libprotobuf32: zero-byte-file-in-doc-directory diff --git a/debian/libprotoc-dev.install b/debian/libprotoc-dev.install new file mode 100644 index 000000000000..899bb85fe3b0 --- /dev/null +++ b/debian/libprotoc-dev.install @@ -0,0 +1,2 @@ +usr/include/google/protobuf/compiler +usr/lib/*/libprotoc.so diff --git a/debian/libprotoc-dev.lintian-overrides b/debian/libprotoc-dev.lintian-overrides new file mode 100644 index 000000000000..f90c4d60db90 --- /dev/null +++ b/debian/libprotoc-dev.lintian-overrides @@ -0,0 +1,3 @@ +libprotoc-dev: copyright-without-copyright-notice +libprotoc-dev: initial-upload-closes-no-bugs +libprotoc-dev: zero-byte-file-in-doc-directory diff --git a/debian/libprotoc32.install b/debian/libprotoc32.install new file mode 100644 index 000000000000..a28013348f3f --- /dev/null +++ b/debian/libprotoc32.install @@ -0,0 +1 @@ +usr/lib/*/libprotoc*.so.* diff --git a/debian/libprotoc32.lintian-overrides b/debian/libprotoc32.lintian-overrides new file mode 100644 index 000000000000..19933fd80ca8 --- /dev/null +++ b/debian/libprotoc32.lintian-overrides @@ -0,0 +1,4 @@ +libprotoc32: copyright-without-copyright-notice +libprotoc32: initial-upload-closes-no-bugs +libprotoc32: package-name-doesnt-match-sonames +libprotoc32: zero-byte-file-in-doc-directory diff --git a/debian/protobuf-compiler.install b/debian/protobuf-compiler.install new file mode 100644 index 000000000000..1df36c612fb7 --- /dev/null +++ b/debian/protobuf-compiler.install @@ -0,0 +1 @@ +usr/bin/* diff --git a/debian/protobuf-compiler.lintian-overrides b/debian/protobuf-compiler.lintian-overrides new file mode 100644 index 000000000000..6f8cc4457901 --- /dev/null +++ b/debian/protobuf-compiler.lintian-overrides @@ -0,0 +1,4 @@ +protobuf-compiler: copyright-without-copyright-notice +protobuf-compiler: initial-upload-closes-no-bugs +protobuf-compiler: no-manual-page +protobuf-compiler: zero-byte-file-in-doc-directory diff --git a/debian/python3-protobuf.install b/debian/python3-protobuf.install new file mode 100644 index 000000000000..e3da3e75536a --- /dev/null +++ b/debian/python3-protobuf.install @@ -0,0 +1 @@ +usr/lib/python*/*-packages/* diff --git a/debian/python3-protobuf.lintian-overrides b/debian/python3-protobuf.lintian-overrides new file mode 100644 index 000000000000..83767c0cd5bc --- /dev/null +++ b/debian/python3-protobuf.lintian-overrides @@ -0,0 +1,4 @@ +python3-protobuf: copyright-without-copyright-notice +python3-protobuf: initial-upload-closes-no-bugs +python3-protobuf: shared-library-lacks-prerequisites +python3-protobuf: zero-byte-file-in-doc-directory diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000000..a206842e8129 --- /dev/null +++ b/debian/rules @@ -0,0 +1,52 @@ +#!/usr/bin/make -f + +SHELL := /bin/bash + +override_dh_autoreconf: + +override_dh_auto_configure: + pushd src && \ + cmake \ + ../cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -Dprotobuf_BUILD_LIBPROTOC=ON \ + -Dprotobuf_BUILD_PROTOC_BINARIES=ON \ + -Dprotobuf_BUILD_SHARED_LIBS=ON \ + -Dprotobuf_BUILD_TESTS=OFF && \ + popd + +override_dh_auto_build: + pushd src && \ + cmake \ + --build . \ + --parallel 10 \ + --config Release && \ + popd + pushd python && \ + python3 setup.py build \ + --cpp_implementation && \ + popd + +override_dh_auto_install: + pushd src && \ + export DESTDIR=../debian/tmp && \ + cmake \ + --install . && \ + popd + pushd python && \ + python3 setup.py install \ + --cpp_implementation \ + --no-compile \ + --install-layout=deb \ + --root=../debian/tmp && \ + popd + find debian/tmp/usr/lib/python*/*-packages -type f -name '*.pyc' -exec rm -rf {} \; + fdupes -qnrps debian/tmp/usr/lib/python*/*-packages + +override_dh_auto_test: + +override_dh_auto_clean: + +%: + dh $@ diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000000..163aaf8d82b6 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 000000000000..e3178ff6c4d8 --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1,6 @@ +protobuf source: configure-generated-file-in-source +protobuf source: dependency-is-not-multi-archified +protobuf source: no-debian-changes +protobuf source: not-binnmuable-any-depends-any +protobuf source: python3-depends-but-no-python3-helper +protobuf source: weak-library-dev-dependency diff --git a/protobuf.spec b/protobuf.spec new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/src/libprotobuf-lite.map b/src/libprotobuf-lite.map index 391554669481..a1853ca6cbf2 100644 --- a/src/libprotobuf-lite.map +++ b/src/libprotobuf-lite.map @@ -3,6 +3,8 @@ extern "C++" { *google*; }; + scc_info_*; + descriptor_table_*; local: *; diff --git a/src/libprotobuf.map b/src/libprotobuf.map index 391554669481..a1853ca6cbf2 100644 --- a/src/libprotobuf.map +++ b/src/libprotobuf.map @@ -3,6 +3,8 @@ extern "C++" { *google*; }; + scc_info_*; + descriptor_table_*; local: *; diff --git a/src/libprotoc.map b/src/libprotoc.map index 391554669481..a1853ca6cbf2 100644 --- a/src/libprotoc.map +++ b/src/libprotoc.map @@ -3,6 +3,8 @@ extern "C++" { *google*; }; + scc_info_*; + descriptor_table_*; local: *;